Поделиться через


DataTableCollection.Remove Метод

Определение

Удаляет указанный объект DataTable из коллекции.

Перегрузки

Remove(String, String)

Удаляет объект DataTable с указанным именем из коллекции.

Remove(DataTable)

Удаляет указанный объект DataTable из коллекции.

Remove(String)

Удаляет объект DataTable с указанным именем из коллекции.

Remove(String, String)

Исходный код:
DataTableCollection.cs
Исходный код:
DataTableCollection.cs
Исходный код:
DataTableCollection.cs

Удаляет объект DataTable с указанным именем из коллекции.

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.

tableNamespace
String

Имя пространства имен объекта DataTable, в котором осуществляется поиск.

Исключения

В коллекции нет таблицы с указанным именем.

Примеры

В следующем примере используются Contains методы и CanRemove для проверки наличия именованной таблицы и ее можно удалить. В этом случае Remove вызывается метод для удаления таблицы.

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 событие возникает при успешном удалении таблицы.

Чтобы определить, существует ли определенная таблица и ее можно удалить перед вызовом Remove, используйте Contains методы CanRemove и .

См. также раздел

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

Remove(DataTable)

Исходный код:
DataTableCollection.cs
Исходный код:
DataTableCollection.cs
Исходный код:
DataTableCollection.cs

Удаляет указанный объект DataTable из коллекции.

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 для удаления.

Исключения

Значением, заданным для таблицы, является null.

Таблица не принадлежит этой коллекции.

-или-

Таблица является частью отношения.

Примеры

В следующем примере метод используется для CanRemove проверки того, можно ли удалить каждую таблицу DataSetиз . В этом случае Remove вызывается метод для удаления таблицы.

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 событие возникает при успешном удалении таблицы.

Чтобы определить, существует ли определенная таблица и ее можно удалить перед вызовом Remove, используйте Contains методы CanRemove и .

См. также раздел

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

Remove(String)

Исходный код:
DataTableCollection.cs
Исходный код:
DataTableCollection.cs
Исходный код:
DataTableCollection.cs

Удаляет объект DataTable с указанным именем из коллекции.

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.

Исключения

В коллекции нет таблицы с указанным именем.

Примеры

В следующем примере используются Contains методы и CanRemove для проверки наличия именованной таблицы и ее можно удалить. В этом случае Remove вызывается метод для удаления таблицы.

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 событие возникает при успешном удалении таблицы.

Чтобы определить, существует ли определенная таблица и ее можно удалить перед вызовом Remove, используйте Contains методы CanRemove и .

См. также раздел

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