Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

DataTable.RowChanging Event

Definition

Namespace:
System.Data
Assemblies:
netstandard.dll, System.Data.Common.dll
Assembly:
System.Data.Common.dll
Assembly:
System.Data.dll
Assembly:
netstandard.dll
Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

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.

Applies to

See also


Feedback

Was this page helpful?