it-swarm.cn

从C#中的DataTable中删除列

我有一个DataSet,我从一个函数调用传递回来的DataTable。它有15-20列,但我只想要10列数据。

有没有办法删除那些我不想要的列,将DataTable复制到只有我想要的列定义的另一个列,或者只是更好地迭代集合并只使用我需要的列。

我需要将值写入固定长度的数据文件。

95
Brian G

除了限制所选列以减少带宽和内存:

DataTable t;
t.Columns.Remove("columnName");
t.Columns.RemoveAt(columnIndex);
255
Tom Ritter

要删除所需列之后的所有列,这个小功能应该可以工作。它将在索引10处删除(记住列基于0),直到列计数为10或更少。

        DataTable dt;
        int desiredSize = 10;

        while (dt.Columns.Count > desiredSize)
        {
            dt.Columns.RemoveAt(desiredSize);
        }
21
Timothy Carter