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.
Applies to
See also
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.