Bearbeitung von Datensatz abbrechen

09/06/2010 - 21:15 von Nico Wessels | Report spam
Hallo NG;

wie kann ich erreichen, dass alle Änderungen in einer DataTable nach
einem Klick auf einen Cancel-Button wieder rückgàngig gemacht werden?

Es soll nach dem Klick auf einen Edit-Button bis zum Klick auf den
Cancel-Button alle Änderungen umfassen.

Geht das irgendwie und falls ja, wie?
 

Lesen sie die antworten

#1 Frank Dzaebel
09/06/2010 - 22:46 | Warnen spam
Hallo Nico,

wie kann ich erreichen, dass alle Änderungen in einer DataTable nach
einem Klick auf einen Cancel-Button wieder rückgàngig gemacht werden?



Mit der Methode:

[DataTable.RejectChanges-Methode (System.Data)]
http://msdn.microsoft.com/de-de/lib...anges.aspx
___________

Wichtig ist dabei, dass man z.B. bei manueller Füllung
darauf achtet, dass am Ende AcceptChanges aufgerufen wurde:

void BtnAbbrechen_Click(object sender, EventArgs e)
{
// dt.GetChanges(); // zum Ansehen
dt.RejectChanges();
}

BindingSource bs = new BindingSource();
DataTable dt = new DataTable();
DataGridView dgv = new DataGridView();
TextBox txtSpalte1 = new TextBox();
Button btnAbbrechen = new Button();

private void Form1_Load(object sender, EventArgs e)
{
dt.Columns.Add("Spalte1");
for (int i = 0; i < 20; i++)
dt.Rows.Add(i.ToString());
dt.AcceptChanges(); bs.DataSource = dt;
Controls.Add(dgv); dgv.Width = 200;
dgv.Height = ClientRectangle.Height - 40;
Controls.Add(txtSpalte1); Controls.Add(btnAbbrechen);
txtSpalte1.Dock = DockStyle.Bottom;
btnAbbrechen.Text = "Test"; btnAbbrechen.Left = 205;
btnAbbrechen.Click += BtnAbbrechen_Click;
txtSpalte1.DataBindings.Add("Text", bs, "Spalte1");
dgv.DataSource = bs;
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen