DataTableCollection.RemoveAt Method (Int32)

 

Removes the DataTable object at the specified index from the collection.

Namespace:   System.Data
Assembly:  System.Data (in System.Data.dll)

Public Sub RemoveAt (
	index As Integer
)

Parameters

index
Type: System.Int32

The index of the DataTable to remove.

Exception Condition
ArgumentException

The collection does not have a table at the specified index.

The CollectionChanged event occurs when a table is successfully removed.

The following example uses the Contains and CanRemove methods to test whether a table exists with the index 10. If so, the RemoveAt method is called to remove the table.

Public Sub DataTableCollectionRemoveAt()
    ' Create a DataSet with two tables and then
    ' remove the tables from the collection using RemoveAt.
    Dim dataSet As DataSet = New DataSet()

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

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

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

    ' Remove all tables.
    ' First check to see if the table can be removed,
    ' then remove it.
    '
    ' You 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.RemoveAt(0)
        End If
        Console.WriteLine("dataSet has {0} tables", _
            dataSet.Tables.Count)
    Loop
End Sub

.NET Framework
Available since 1.1
Return to top
Show: