DataTableCollection.Remove Метод

Определение

Удаляет указанный объект DataTable из коллекции.Removes a specified DataTable object from the collection.

Перегрузки

Remove(String, String)

Удаляет из коллекции объект DataTable с указанным именем.Removes the DataTable object with the specified name from the collection.

Remove(DataTable)

Удаляет указанный объект DataTable из коллекции.Removes the specified DataTable object from the collection.

Remove(String)

Удаляет из коллекции объект DataTable с указанным именем.Removes the DataTable object with the specified name from the collection.

Remove(String, String)

Удаляет из коллекции объект DataTable с указанным именем.Removes the DataTable object with the specified name from the collection.

public:
 void Remove(System::String ^ name, System::String ^ tableNamespace);
public void Remove (string name, string tableNamespace);
member this.Remove : string * string -> unit
Public Sub Remove (name As String, tableNamespace As String)

Параметры

name
String

Имя удаляемого объекта DataTable.The name of the DataTable object to remove.

tableNamespace
String

Имя пространства имен объекта DataTable, в котором осуществляется поиск.The name of the DataTable namespace to look in.

Исключения

В коллекции нет таблицы с указанным именем.The collection does not have a table with the specified name.

Примеры

В следующем примере методы Contains и CanRemove используются для проверки существования именованной таблицы и ее удаления.The following example uses the Contains and CanRemove methods to test whether a named table exists and can be removed. В этом случае вызывается метод Remove для удаления таблицы.If so, the Remove method is called to remove the table.

private void RemoveTables()
{
    // Set the name of the table to test for and remove.
    string name = "Suppliers";

    // Presuming a DataGrid is displaying more than one table, get its DataSet.
    DataSet thisDataSet = (DataSet)DataGrid1.DataSource;
    DataTableCollection tablesCol = thisDataSet.Tables;
    if (tablesCol.Contains(name) && tablesCol.CanRemove(tablesCol[name])) 
        tablesCol.Remove(name);
}
Private Sub RemoveTables()
   ' Set the name of the table to test for and remove.
   Dim name As String = "Suppliers"

   ' Presuming a DataGrid is displaying more than one table, get its DataSet.
   Dim thisDataSet As DataSet = CType(DataGrid1.DataSource, DataSet)
   Dim tablesCol As DataTableCollection = thisDataSet.Tables
   If tablesCol.Contains(name) _
   And tablesCol.CanRemove(tablesCol(name)) Then 
      tablesCol.Remove(name)
   End If
End Sub

Комментарии

Событие CollectionChanged возникает при успешном удалении таблицы.The CollectionChanged event occurs when a table is successfully removed.

Чтобы определить, существует ли данная таблица и может быть удалена перед вызовом Remove, используйте методы Contains и CanRemove.To determine whether a given table exists and can be removed before invoking Remove, use the Contains and the CanRemove methods.

Дополнительно

Remove(DataTable)

Удаляет указанный объект DataTable из коллекции.Removes the specified DataTable object from the collection.

public:
 void Remove(System::Data::DataTable ^ table);
public void Remove (System.Data.DataTable table);
member this.Remove : System.Data.DataTable -> unit
Public Sub Remove (table As DataTable)

Параметры

table
DataTable

Удаляемый объект DataTable.The DataTable to remove.

Исключения

Значением, заданным для таблицы, является null.The value specified for the table is null.

Таблица не принадлежит этой коллекции.The table does not belong to this collection.

-или--or-

Таблица является частью отношения.The table is part of a relationship.

Примеры

В следующем примере используется метод CanRemove для проверки возможности удаления каждой таблицы из DataSet.The following example uses the CanRemove method to test whether each table can be removed from a DataSet. В этом случае вызывается метод Remove для удаления таблицы.If so, the Remove method is called to remove the table.

public static void DataTableCollectionCanRemove()
{
    // create a DataSet with two tables
    DataSet dataSet = new DataSet();

    // create Customer table
    DataTable customersTable = new DataTable("Customers");
    customersTable.Columns.Add("customerId", 
        typeof(int) ).AutoIncrement = true;
    customersTable.Columns.Add("name",       
        typeof(string));
    customersTable.PrimaryKey = new DataColumn[] 
        { customersTable.Columns["customerId"] };

    // create Orders table
    DataTable ordersTable = new DataTable("Orders");
    ordersTable.Columns.Add("orderId",    
        typeof(int) ).AutoIncrement = true;
    ordersTable.Columns.Add("customerId", 
        typeof(int) );
    ordersTable.Columns.Add("amount",     
        typeof(double));
    ordersTable.PrimaryKey = new DataColumn[] 
        { ordersTable.Columns["orderId"] };

    dataSet.Tables.AddRange(new DataTable[] 
        {customersTable, ordersTable });

    // remove all tables
    // check if table can be removed and then
    // remove it, cannot use a foreach when
    // removing items from a collection
    while(dataSet.Tables.Count > 0)
    {
        DataTable table = dataSet.Tables[0];
        if(dataSet.Tables.CanRemove(table))
        {
            dataSet.Tables.Remove(table);
        }
    }

    Console.WriteLine("dataSet has {0} tables",     
        dataSet.Tables.Count);
}
Public Sub Main
DataTableCollectionCanRemove
End Sub

Public Sub DataTableCollectionCanRemove()
    ' create a DataSet with two tables
    Dim dataSet As New DataSet()

    ' create Customer table
    Dim customersTable As New DataTable("Customers")
    customersTable.Columns.Add("customerId", _
        System.Type.GetType("System.Integer")).AutoIncrement = True
    customersTable.Columns.Add("name", _
        System.Type.GetType("System.String"))
    customersTable.PrimaryKey = New DataColumn() _
        {customersTable.Columns("customerId")}

    ' create Orders table
    Dim ordersTable As New DataTable("Orders")
    ordersTable.Columns.Add("orderId", _
        System.Type.GetType("System.Integer")).AutoIncrement = True
    ordersTable.Columns.Add("customerId", _
        System.Type.GetType("System.Integer"))
    ordersTable.Columns.Add("amount", _
        System.Type.GetType("System.Double"))
    ordersTable.PrimaryKey = New DataColumn() _
        {ordersTable.Columns("orderId")}

    dataSet.Tables.AddRange(New DataTable() {customersTable, ordersTable})

    ' remove all tables
    ' check if table can be removed and then
    ' remove it, cannot use a foreach when
    ' removing items from a collection
    Do While (dataSet.Tables.Count > 0)
        Dim table As DataTable = dataSet.Tables(0)
        If (dataSet.Tables.CanRemove(table)) Then
            dataSet.Tables.Remove(table)
        End If
    Loop

Console.WriteLine("dataSet has {0} tables", dataSet.Tables.Count)
End Sub

Комментарии

Событие CollectionChanged возникает при успешном удалении таблицы.The CollectionChanged event occurs when a table is successfully removed.

Чтобы определить, существует ли данная таблица и может быть удалена перед вызовом Remove, используйте методы Contains и CanRemove.To determine whether a given table exists and can be removed before invoking Remove, use the Contains and the CanRemove methods.

Дополнительно

Remove(String)

Удаляет из коллекции объект DataTable с указанным именем.Removes the DataTable object with the specified name from the collection.

public:
 void Remove(System::String ^ name);
public void Remove (string name);
member this.Remove : string -> unit
Public Sub Remove (name As String)

Параметры

name
String

Имя удаляемого объекта DataTable.The name of the DataTable object to remove.

Исключения

В коллекции нет таблицы с указанным именем.The collection does not have a table with the specified name.

Примеры

В следующем примере методы Contains и CanRemove используются для проверки существования именованной таблицы и ее удаления.The following example uses the Contains and CanRemove methods to test whether a named table exists and can be removed. В этом случае вызывается метод Remove для удаления таблицы.If so, the Remove method is called to remove the table.

private void RemoveTables()
{
    // Set the name of the table to test for and remove.
    string name = "Suppliers";

    // Presuming a DataGrid is displaying more than one table, get its DataSet.
    DataSet thisDataSet = (DataSet)DataGrid1.DataSource;
    DataTableCollection tablesCol = thisDataSet.Tables;
    if (tablesCol.Contains(name) && tablesCol.CanRemove(tablesCol[name])) 
        tablesCol.Remove(name);
}
Private Sub RemoveTables()
   ' Set the name of the table to test for and remove.
   Dim name As String = "Suppliers"

   ' Presuming a DataGrid is displaying more than one table, get its DataSet.
   Dim thisDataSet As DataSet = CType(DataGrid1.DataSource, DataSet)
   Dim tablesCol As DataTableCollection = thisDataSet.Tables
   If tablesCol.Contains(name) _
   And tablesCol.CanRemove(tablesCol(name)) Then 
      tablesCol.Remove(name)
   End If
End Sub

Комментарии

Событие CollectionChanged возникает при успешном удалении таблицы.The CollectionChanged event occurs when a table is successfully removed.

Чтобы определить, существует ли данная таблица и может быть удалена перед вызовом Remove, используйте методы Contains и CanRemove.To determine whether a given table exists and can be removed before invoking Remove, use the Contains and the CanRemove methods.

Дополнительно

Применяется к