Occurs when a DataRow is changing.
Assembly: System.Data (in System.Data.dll)
Syntax
Public Event RowChanging As DataRowChangeEventHandlerpublic event DataRowChangeEventHandler RowChangingpublic:
event DataRowChangeEventHandler^ RowChanging {
void add (DataRowChangeEventHandler^ value);
void remove (DataRowChangeEventHandler^ value);
}member RowChanging : IEvent<DataRowChangeEventHandler,
DataRowChangeEventArgs>
Remarks
For more information, see Handling DataTable Events (ADO.NET).
Examples
Private Sub DataTableRowChanging()
Dim custTable As DataTable = New DataTable("Customers")
' add columns
custTable.Columns.Add("id", Type.GetType("System.Int32"))
custTable.Columns.Add("name", Type.GetType("System.String"))
custTable.Columns.Add("address", Type.GetType("System.String"))
' set PrimaryKey
custTable.Columns("id").Unique = True
custTable.PrimaryKey = New DataColumn() {custTable.Columns("id")}
' add a RowChanging event handler for the table.
AddHandler custTable.RowChanging, _
New DataRowChangeEventHandler(AddressOf Row_Changing)
' add ten rows
Dim id As Integer
For id = 1 To 10
custTable.Rows.Add( _
New Object() {id, String.Format("customer{0}", id), _
String.Format("address{0}", id)})
Next
custTable.AcceptChanges()
' change the name column in all the rows
Dim row As DataRow
For Each row In custTable.Rows
row("name") = String.Format("vip{0}", row("id"))
Next
End Sub
Private Sub Row_Changing(ByVal sender As Object, _
ByVal e As DataRowChangeEventArgs)
Console.WriteLine("Row_Changing Event: name={0}; action={1}", _
e.Row("name"), e.Action)
End Sub
private static void DataTableRowChanging()
{
DataTable custTable = new DataTable("Customers");
// add columns
custTable.Columns.Add("id", typeof(int));
custTable.Columns.Add("name", typeof(string));
custTable.Columns.Add("address", typeof(string));
// set PrimaryKey
custTable.Columns[ "id" ].Unique = true;
custTable.PrimaryKey = new DataColumn[] { custTable.Columns["id"] };
// add a RowChanging event handler for the table.
custTable.RowChanging += new DataRowChangeEventHandler(Row_Changing);
// add ten rows
for(int id=1; id<=10; id++)
{
custTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id),
string.Format("address{0}", id) });
}
custTable.AcceptChanges();
// change the name column in all the rows
foreach(DataRow row in custTable.Rows)
{
row["name"] = string.Format("vip{0}", row["id"]);
}
}
private static void Row_Changing(object sender, DataRowChangeEventArgs e)
{
Console.WriteLine("Row_Changing Event: name={0}; action={1}",
e.Row["name"], e.Action);
}
Platforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.