从DataTable .NET中删除多个列

时间:2015-02-03 18:44:04

标签: c# .net datatable

我在DataTable中有多个要删除的列。我目前有索引我要删除。例如,假设我有10列,我想删除索引4,8和9。

我知道我可以做这样的事情dataTable.Columns.RemoveAt(index)。但是,一旦我这样做,我删除了下一列的索引。

所以我的问题是如何删除预期的列,因为我只有列索引。

2 个答案:

答案 0 :(得分:5)

如果您想避免更改要删除的下一列的索引,为什么不按降序删除它们。 例如,删除9然后是8然后是4而不是4,8,9。

答案 1 :(得分:2)

以下是一些选项:

  • 按名称删除它们:

    dataTable.Columns.Remove(col4Name);
    dataTable.Columns.Remove(col8Name);
    
  • 在删除列之前获取对列的引用:

    DataColumn dc4 = dataTable.Columns[4];
    DataColumn dc8 = dataTable.Columns[8];
    DataColumn dc9 = dataTable.Columns[9];
    dataTable.Columns.Remove(dc4);
    dataTable.Columns.Remove(dc8);
    dataTable.Columns.Remove(dc9);
    
相关问题