我有一个DataSet,我得到一个DataTable从我从一个函数调用传回。它有15-20列,但我只需要10列的数据。从C#中的DataTable移除列#
有没有办法删除我不想要的那些列,将DataTable复制到另一个只包含我想要的列的定义,或者只是更好地迭代集合并使用我需要的列。
我需要将值写入固定长度的数据文件。
我有一个DataSet,我得到一个DataTable从我从一个函数调用传回。它有15-20列,但我只需要10列的数据。从C#中的DataTable移除列#
有没有办法删除我不想要的那些列,将DataTable复制到另一个只包含我想要的列的定义,或者只是更好地迭代集合并使用我需要的列。
我需要将值写入固定长度的数据文件。
除了限制选择,以减少带宽和内存中的列:
DataTable t; t.Columns.Remove("columnName"); t.Columns.RemoveAt(columnIndex);
只是为了澄清:当DataTable已经存在行时,这也适用,不仅在一个空的`DataTable`上。 – 2015-05-18 09:26:03
要删除一个你想要的毕竟列,这个小功能应该工作。它将在索引10处移除(记住列基于0),直到列数为10或更少。
DataTable dt;
int desiredSize = 10;
while (dt.Columns.Count > desiredSize)
{
dt.Columns.RemoveAt(desiredSize);
}
只是我的2c,我不喜欢这个解决方案,使用列索引导致恶梦维护.. – batman 2018-01-02 23:48:00
我对我收到的数据集没有任何控制权。我唯一知道的是它包含了一切。 – 2008-09-16 18:10:09