有三種方法可以刪除 DataTable 中的 DataRow:
Delete 方法和 Remove 方法和 RemoveAt 方法
其區別是:
- Delete 方法實際上不是從 DataTable 中刪除掉一行,而是將其標志為刪除,僅僅是做個記號,
- Remove 方法則是真正的從 DataRow 中刪除一行,
- RemoveAt 方法是根據行的索引來刪除。
Delete 的使用是 : Datatable.Rows[i].Delete();
注意: Delete() 之后需要 datatable.AccepteChanges() 方法確認完全刪除,因為 Delete() 只是將其標志為刪除,也可以用 datatable.RejectChanges() 回滾,使該行取消刪除。
Remove 的使用是: Datatable.Rows.Remove(datatable.Rows[i]);
RemoveAt 的使用是: DataTable.Rows.RemoveAt(index);
在使用 for 循環刪除 DataTable 中行的時候,每刪除一行,DataTable中所有行的索引都會發生改變。所以,需要逆序刪除,並且每刪除完一行,要跟着判斷第一行是否滿足刪除條件。