DataTable.RowDeleting 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 before a row in the table is about to be deleted.
public:
 event System::Data::DataRowChangeEventHandler ^ RowDeleting;public event System.Data.DataRowChangeEventHandler? RowDeleting;public event System.Data.DataRowChangeEventHandler RowDeleting;[System.Data.DataSysDescription("DataTableRowDeletingDescr")]
public event System.Data.DataRowChangeEventHandler RowDeleting;member this.RowDeleting : System.Data.DataRowChangeEventHandler [<System.Data.DataSysDescription("DataTableRowDeletingDescr")>]
member this.RowDeleting : System.Data.DataRowChangeEventHandler Public Custom Event RowDeleting As DataRowChangeEventHandler Event Type
- Attributes
Examples
private static void DataTableRowDeleting()
{
    DataTable customerTable = new DataTable("Customers");
    // add columns
    customerTable.Columns.Add( "id", typeof(int));
    customerTable.Columns.Add( "name", typeof(string));
    customerTable.Columns.Add( "address", typeof(string));
    // set PrimaryKey
    customerTable.Columns[ "id" ].Unique = true;
    customerTable.PrimaryKey = new DataColumn[]
        { customerTable.Columns["id"] };
    // add a RowDeleting event handler for the table.
    customerTable.RowDeleting += new DataRowChangeEventHandler( Row_Deleting );
    // add ten rows
    for( int id=1; id<=10; id++)
    {
        customerTable.Rows.Add(
            new object[] { id, string.Format("customer{0}", id),
            string.Format("address{0}", id) });
    }
    customerTable.AcceptChanges();
    // Delete all the rows
    foreach( DataRow row in customerTable.Rows )
        row.Delete();
}
private static void Row_Deleting( object sender,
    DataRowChangeEventArgs e )
{
    Console.WriteLine( "Row_Deleting Event: name={0}; action={1}",
        e.Row["name"], e.Action );
}
Private Shared Sub DataTableRowDeleting()
    Dim customerTable As New DataTable("Customers")
    ' add columns
    customerTable.Columns.Add( "id", Type.GetType("System.Int32"))
    customerTable.Columns.Add( "name", Type.GetType("System.String"))
    customerTable.Columns.Add( "address", Type.GetType("System.String"))
    ' set PrimaryKey
    customerTable.Columns( "id").Unique = true
    customerTable.PrimaryKey = New DataColumn() { customerTable.Columns("id") }
    ' add a RowDeleting event handler for the table.
    AddHandler customerTable.RowDeleting, New _
        DataRowChangeEventHandler( AddressOf Row_Deleting )
    ' add ten rows
    Dim id As Integer
    For id = 1 To 10
        customerTable.Rows.Add( _
            New Object() { id, string.Format("customer{0}", id), _
            string.Format("address{0}", id) })
    Next
    
    customerTable.AcceptChanges()
    ' Delete all the rows
    Dim row As DataRow
    For Each row In customerTable.Rows 
        row.Delete()
    Next
End Sub
Private Shared Sub Row_Deleting(sender As Object, _
    e As DataRowChangeEventArgs)
    Console.WriteLine( "Row_Deleting Event: name={0}; action={1}", _
        e.Row("name"), e.Action) 
End Sub
Remarks
For more information, see Handling DataTable Events.