Skip to main content
.NET Framework Class Library
DataTable..::.RowChanged Event

Occurs after a DataRow has been changed successfully.

Namespace: System.Data
Assembly: System.Data (in System.Data.dll)
Syntax
Public Event RowChanged As DataRowChangeEventHandler
public event DataRowChangeEventHandler RowChanged
public:
 event DataRowChangeEventHandler^ RowChanged {
	void add (DataRowChangeEventHandler^ value);
	void remove (DataRowChangeEventHandler^ value);
}
member RowChanged : IEvent<DataRowChangeEventHandler,
    DataRowChangeEventArgs>
Remarks

For more information, see Handling DataTable Events (ADO.NET).

Examples

 Private Sub DataTableRowChanged()
     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 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


    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);
    }

Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
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.