DataTableCollection.Remove 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從集合中移除指定的 DataTable 物件。
多載
Remove(String, String) |
從集合中移除具有指定名稱的 DataTable 物件。 |
Remove(DataTable) |
從集合中移除指定的 DataTable 物件。 |
Remove(String) |
從集合中移除具有指定名稱的 DataTable 物件。 |
Remove(String, String)
從集合中移除具有指定名稱的 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)
參數
例外狀況
集合沒有包含具有指定名稱的資料表。
範例
下列範例會使用 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)
從集合中移除指定的 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)
從集合中移除具有指定名稱的 DataTable 物件。
public:
void Remove(System::String ^ name);
public void Remove (string name);
member this.Remove : string -> unit
Public Sub Remove (name As String)
參數
例外狀況
集合沒有包含具有指定名稱的資料表。
範例
下列範例會使用 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 方法。