Export (0) Print
Expand All

DataTableCollection.RemoveAt Method

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

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

'Declaration
Public Sub RemoveAt ( _
	index As Integer _
)

Parameters

index
Type: System.Int32

The index of the DataTable to remove.

ExceptionCondition
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

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft