DataTable.RowChanging Event   
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Occurs when a DataRow is changing.
public:
 event System::Data::DataRowChangeEventHandler ^ RowChanging;public event System.Data.DataRowChangeEventHandler? RowChanging;public event System.Data.DataRowChangeEventHandler RowChanging;[System.Data.DataSysDescription("DataTableRowChangingDescr")]
public event System.Data.DataRowChangeEventHandler RowChanging;member this.RowChanging : System.Data.DataRowChangeEventHandler [<System.Data.DataSysDescription("DataTableRowChangingDescr")>]
member this.RowChanging : System.Data.DataRowChangeEventHandler Public Custom Event RowChanging As DataRowChangeEventHandler Event Type
- Attributes
Examples
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);
}
 Private Sub DataTableRowChanging()
     Dim custTable As 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
Remarks
For more information, see Handling DataTable Events.