我在DataTable中有多个要删除的列。我目前有索引我要删除。例如,假设我有10列,我想删除索引4,8和9。
我知道我可以做这样的事情dataTable.Columns.RemoveAt(index)。但是,一旦我这样做,我删除了下一列的索引。
所以我的问题是如何删除预期的列,因为我只有列索引。
答案 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);