DataTable.RowChanged 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 after a DataRow has been changed successfully.
public:
 event System::Data::DataRowChangeEventHandler ^ RowChanged;public event System.Data.DataRowChangeEventHandler? RowChanged;public event System.Data.DataRowChangeEventHandler RowChanged;[System.Data.DataSysDescription("DataTableRowChangedDescr")]
public event System.Data.DataRowChangeEventHandler RowChanged;member this.RowChanged : System.Data.DataRowChangeEventHandler [<System.Data.DataSysDescription("DataTableRowChangedDescr")>]
member this.RowChanged : System.Data.DataRowChangeEventHandler Public Custom Event RowChanged As DataRowChangeEventHandler Event Type
- Attributes
Examples
private static void DataTableRowChanged()
{
    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 RowChanged event handler for the table.
    custTable.RowChanged += new DataRowChangeEventHandler(Row_Changed);
    // 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_Changed(object sender, DataRowChangeEventArgs e)
{
    Console.WriteLine("Row_Changed Event: name={0}; action={1}",
        e.Row["name"], e.Action);
}
 Private Sub DataTableRowChanged()
     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 RowChanged event handler for the table.
     AddHandler custTable.RowChanged, _
            New DataRowChangeEventHandler(AddressOf Row_Changed)
     ' 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_Changed(ByVal sender As Object, _
 ByVal e As DataRowChangeEventArgs)
     Console.WriteLine("Row_Changed Event: name={0}; action={1}", _
      e.Row("name"), e.Action)
 End Sub
Remarks
For more information, see Handling DataTable Events.