DataTableCollection.RemoveAt(Int32) Method

Definition

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

public void RemoveAt (int index);

Parameters

index
Int32

The index of the DataTable to remove.

Exceptions

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

Examples

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 static void DataTableCollectionRemoveAt()
{
    // Create a DataSet with two tables and then
    // remove the tables from the collection using RemoveAt.
    DataSet dataSet = new DataSet();

    // Create Customer table.
    DataTable customerTable = new DataTable("Customers");
    customerTable.Columns.Add("customerId",
        typeof(int)).AutoIncrement = true;
    customerTable.Columns.Add("name", typeof(string));
    customerTable.PrimaryKey = new DataColumn[] { customerTable.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[] { 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.
    while (dataSet.Tables.Count > 0)
    {
        DataTable table = dataSet.Tables[0];
        if (dataSet.Tables.CanRemove(table))
            dataSet.Tables.RemoveAt(0);
        Console.WriteLine("dataSet has {0} tables",
            dataSet.Tables.Count);
    }
}

Remarks

The CollectionChanged event occurs when a table is successfully removed.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

See also