Im totaly neu speichern zu Codierung aber im Versuch :) Bei der Anwendung Im arbeite ich lernen müssen, eine Schaltfläche, um eine neue ZeileHowto bearbeiten ausgewählte Zeilen, sondern als neue Zeile (textBox, Datagridview, SQL)
fügtEdit(true);
dbDocSet.DocData.AddDocDataRow(dbDocSet.DocData.NewDocDataRow());
docDataBindingSource.MoveLast();
und dann mit einem anderen Knopf von Textbox I speichern
Edit(false);
docDataBindingSource.EndEdit();
docDataTableAdapter.Update(dbDocSet.DocData);
dataGridView1.Refresh();
ich kann auch eine Reihe bearbeiten
Edit(true);
Wie kann ich eine Zeile bearbeiten, aber nach der Bearbeitung in einer neuen Zeile speichern, anstatt sie zu überschreiben?
Oder vielleicht shold ich es ändern, wie dies funktioniert:
Statt - Hinzufügen neue Zeile mit Schaltfläche Neu - Füllen Sie Textfelder - Sparen mit Savebutton
wie folgt tun: - Füllen in area per - speichern, um neue Zeile mit Savebutton
Edit: - area per Bestücken durch eine Reihe Auswahl - Nehmen Sie Änderungen in area perZu den gleichen Zeile mit changebutton enter image description here
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Rectangle resolutionRect = System.Windows.Forms.Screen.FromControl(this).Bounds;
if (this.Width >= resolutionRect.Width || this.Height >= resolutionRect.Height)
{
this.WindowState = FormWindowState.Maximized;
}
this.docDataTableAdapter.Fill(this.dbDocSet.DocData);
Edit(false);
}
private void Edit(bool value)
{
textBox1.Enabled = value;
textBox2.Enabled = value;
textBox3.Enabled = value;
Und dann mehr textBox.Enable = Wert (143 st)
private void button1_Click(object sender, EventArgs e)
{ //-----Nytt dokument-----
try
{
Edit(true);
dbDocSet.DocData.AddDocDataRow(dbDocSet.DocData.NewDocDataRow());
docDataBindingSource.MoveLast();
textBox1.Focus();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
dbDocSet.DocData.RejectChanges();
}
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
{
if (dataGridView1.Rows[i].Cells[0].Value.ToString() == "" || dataGridView1.Rows[i].Cells[1].Value.ToString() == "")
{
dataGridView1.Rows.RemoveAt(i);
i--;
}
}
}
private void button3_Click(object sender, EventArgs e)
{ //-----Öppna upp för att kunna ändra-----
Edit(true);
textBox1.Focus();
}
private void button4_Click(object sender, EventArgs e)
{ //-----Avbryt ifyllnad dokument-----
Edit(false);
docDataBindingSource.ResetBindings(false);
}
private void button2_Click(object sender, EventArgs e)
{ //-----Spara dokument-----
if (string.IsNullOrWhiteSpace(textBox1.Text))
{
MessageBox.Show("Dokumenttyp måste anges !", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
textBox1.Focus();
}
else
if (string.IsNullOrWhiteSpace(textBox2.Text))
{
MessageBox.Show("Dokumentnamn måste anges !", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
textBox2.Focus();
}
else
if (string.IsNullOrWhiteSpace(textBox3.Text))
{
MessageBox.Show("Revision för dokumentet måste anges !", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
textBox3.Focus();
}
else
try
{
Edit(false);
docDataBindingSource.EndEdit();
docDataTableAdapter.Update(dbDocSet.DocData);
dataGridView1.Refresh();
textBox1.Focus();
MessageBox.Show("Dokument sparat med lyckat resultat !", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
dbDocSet.DocData.RejectChanges();
}
}
private void dataGridView1_KeyDown_1(object sender, KeyEventArgs e)
{ //-----Ta bort valt dokument-----
if (e.KeyCode == Keys.Delete)
foreach (DataGridViewCell oneCell in dataGridView1.SelectedCells)
{
if (oneCell.Selected)
if (MessageBox.Show("Är du säker på att du vill ta bort dokumentet ?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
dataGridView1.Rows.RemoveAt(oneCell.RowIndex);
}
}
@TobiasJohansson ich meine Antwort bearbeitet, schauen es – DoLoop
Nun ich verstehe Sie nicht. Könnten Sie bitte Ihr Formular screenshot, damit ich weiß, wie es aussieht. Ich dachte, dass Knöpfe Funktion ist, neue Reihe zu datagridview – DoLoop
@TobiasJohansson hinzuzufügen Ich denke, dass ich aufholen bin, was Sie tun möchten, aber Sie tun es falsch. Mit der Schaltfläche "Ny" muss nur die Textbox aktiviert werden, während Sie bei "Spara" das speichern, was Sie in Textboxen geschrieben und NEW ROW hinzugefügt haben. Und der andere, um den Punkt nicht zu sehen. – DoLoop