private
void
DemonstrateRowBeginEdit()
... {
DataTable table = new DataTable("table1");
DataColumn column = new
DataColumn("col1",Type.GetType("System.Int32"));
table.RowChanged+=new
DataRowChangeEventHandler(Row_Changed);
table.Columns.Add(column);
// Add a UniqueConstraint to the table.
table.Constraints.Add(new UniqueConstraint(column));
// Add five rows.
DataRow newRow;
for(int i = 0;i<5; i++)
...{
// RowChanged event will occur for every addition.
newRow= table.NewRow();
newRow[0]= i;
table.Rows.Add(newRow);
}
// AcceptChanges.
table.AcceptChanges();
// Invoke BeginEdit on each.
Console.WriteLine(
" Begin Edit and print original and proposed values ");
foreach(DataRow row in table.Rows)
...{
row.BeginEdit();
row[0]=(int) row[0]+10;
Console.Write(" able Original able" +
row[0, DataRowVersion.Original]);
Console.Write(" able Proposed able" +
row[0,DataRowVersion.Proposed] + " ");
}
Console.WriteLine(" ");
// Accept changes
table.AcceptChanges();
// Change two rows to identical values after invoking BeginEdit.
table.Rows[0].BeginEdit();
table.Rows[1].BeginEdit();
table.Rows[0][0]= 100;
table.Rows[1][0]=100;
try
...{
/**//* Now invoke EndEdit. This will cause the UniqueConstraint
to be enforced.*/
table.Rows[0].EndEdit();
table.Rows[1].EndEdit();
}
catch(Exception e)
...{
// Process exception and return.
Console.WriteLine("Exception of type {0} occurred.",
e.GetType());
}
}
private void Row_Changed( object sender,
System.Data.DataRowChangeEventArgs e)
... {
DataTable table = (DataTable) sender;
Console.WriteLine("RowChanged " + e.Action.ToString()
+ " able" + e.Row.ItemArray[0]);
}
... {
DataTable table = new DataTable("table1");
DataColumn column = new
DataColumn("col1",Type.GetType("System.Int32"));
table.RowChanged+=new
DataRowChangeEventHandler(Row_Changed);
table.Columns.Add(column);
// Add a UniqueConstraint to the table.
table.Constraints.Add(new UniqueConstraint(column));
// Add five rows.
DataRow newRow;
for(int i = 0;i<5; i++)
...{
// RowChanged event will occur for every addition.
newRow= table.NewRow();
newRow[0]= i;
table.Rows.Add(newRow);
}
// AcceptChanges.
table.AcceptChanges();
// Invoke BeginEdit on each.
Console.WriteLine(
" Begin Edit and print original and proposed values ");
foreach(DataRow row in table.Rows)
...{
row.BeginEdit();
row[0]=(int) row[0]+10;
Console.Write(" able Original able" +
row[0, DataRowVersion.Original]);
Console.Write(" able Proposed able" +
row[0,DataRowVersion.Proposed] + " ");
}
Console.WriteLine(" ");
// Accept changes
table.AcceptChanges();
// Change two rows to identical values after invoking BeginEdit.
table.Rows[0].BeginEdit();
table.Rows[1].BeginEdit();
table.Rows[0][0]= 100;
table.Rows[1][0]=100;
try
...{
/**//* Now invoke EndEdit. This will cause the UniqueConstraint
to be enforced.*/
table.Rows[0].EndEdit();
table.Rows[1].EndEdit();
}
catch(Exception e)
...{
// Process exception and return.
Console.WriteLine("Exception of type {0} occurred.",
e.GetType());
}
}
private void Row_Changed( object sender,
System.Data.DataRowChangeEventArgs e)
... {
DataTable table = (DataTable) sender;
Console.WriteLine("RowChanged " + e.Action.ToString()
+ " able" + e.Row.ItemArray[0]);
}