DataSet.OnRemoveTable(DataTable) Method


Occurs when a DataTable is removed from a DataSet.

protected public:
 virtual void OnRemoveTable(System::Data::DataTable ^ table);
 virtual void OnRemoveTable(System::Data::DataTable ^ table);
protected internal virtual void OnRemoveTable (System.Data.DataTable table);
protected virtual void OnRemoveTable (System.Data.DataTable table);
abstract member OnRemoveTable : System.Data.DataTable -> unit
override this.OnRemoveTable : System.Data.DataTable -> unit
Protected Friend Overridable Sub OnRemoveTable (table As DataTable)
Protected Overridable Sub OnRemoveTable (table As DataTable)



The DataTable being removed.


The following example shows a class derived from the DataSet with the OnRemoveTable method overridden.

public static void DemonstrateOnRemoveTable()
    DerivedDataSet dataSet = CreateDataSet();
    if(dataSet.Tables.Count > 0)

public class DerivedDataSet: DataSet
    protected override void OnRemoveTable(DataTable table)
            "The '{0}' DataTable has been removed from the DataSet",

public static DerivedDataSet CreateDataSet()
    // Create a DataSet with one table containing two columns.
    DerivedDataSet derived = new DerivedDataSet();

    // Add table to DataSet.
    DataTable table = derived.Tables.Add("Items");

    // Add two columns.
    DataColumn column = table.Columns.Add("id", typeof(int));
    column.AutoIncrement = true;
    table.Columns.Add("item", typeof(int));

    // Set primary key.
    table.PrimaryKey = new DataColumn[] {table.Columns["id"]};

    return derived;

Public Shared Sub DemonstrateOnRemoveTable()
    Dim dataSet As DerivedDataSet = CreateDataSet()
    If dataSet.Tables.Count > 0 Then dataSet.Tables.RemoveAt(0)
End Sub

Public Class DerivedDataSet
    Inherits DataSet
    Protected Overrides Sub OnRemoveTable(table As DataTable)
        Console.WriteLine( _
            "The '{0}' DataTable has been removed from the DataSet", _
    End Sub
End Class

Public Shared Function CreateDataSet() As DerivedDataSet
    ' Create a DataSet with one table containing two columns.
    Dim derived As New DerivedDataSet()

    ' Add table to DataSet.
    Dim table As DataTable = derived.Tables.Add("Items")

    ' Add two columns.
    Dim column As DataColumn = table.Columns.Add("id", _
    column.AutoIncrement = True
    table.Columns.Add("item", Type.GetType("System.Int32"))

    ' Set primary key.
    table.PrimaryKey = New DataColumn() {table.Columns("id")}

    return derived
End Function


This method can be overridden by subclasses to restrict tables from being removed.

Applies to

See also