DataTable.RowChanging Event

Definition

Occurs when a DataRow is changing.

C#
public event System.Data.DataRowChangeEventHandler? RowChanging;
C#
public event System.Data.DataRowChangeEventHandler RowChanging;
C#
[System.Data.DataSysDescription("DataTableRowChangingDescr")]
public event System.Data.DataRowChangeEventHandler RowChanging;

Event Type

Attributes

Examples

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

Remarks

For more information, see Handling DataTable Events.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

See also