我有一个 DataTable,它有很多列,只有一行:
...
DataSet myDataSet = new DataSet();
da.Fill(myDataSet);
myDataTable = new DataTable();
myDataTable = myDataSet.Tables[0];
...
如何将 DataSet/DataTable 拆分为具有相等数量的列(如果它是奇数,拆分列以便第一个 DataTable
具有额外的列)。
场景 #1:
主要数据表
:
col1 col2 col3 col4 col5 col6 col7 col8
9 0 9 5 7 4 9 3
数据表1
:
col1 col3 col3 col4
9 0 9 5
数据表2
:
col5 col6 col7 col8
7 4 9 3
场景#2:
主要数据表
:
col1 col2 col3 col4 col5 col6 col7
9 0 9 5 7 4 9
数据表1
:
col1 col3 col3 col4
9 0 9 5
数据表2
:
col5 col6 col7
7 4 9
最佳答案
您可以复制整个数据表,然后删除不需要的列。
因此对于您的第一个示例,以下代码将返回数据表 1 中的前四列和数据表 2 中的其余列。
您可以根据列数修改代码
DataTable dataTable1;
dataTable1 = myDataTable.Copy();
dataTable1.Columns.RemoveAt(4);
dataTable1.Columns.RemoveAt(5);
dataTable1.Columns.RemoveAt(6);
dataTable1.Columns.RemoveAt(7);
DataTable dataTable2;
dataTable2 = myDataTable.Copy();
dataTable2.Columns.RemoveAt(0);
dataTable2.Columns.RemoveAt(1);
dataTable2.Columns.RemoveAt(2);
dataTable2.Columns.RemoveAt(3);
关于c# - 如何将 DataTable 拆分为两个单独的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271259/