我有一个DataTable,它有很多列,只有一行:
...
DataSet myDataSet = new DataSet();
da.Fill(myDataSet);
myDataTable = new DataTable();
myDataTable = myDataSet.Tables[0];
...
如何将DataSet / DataTable拆分为具有相同数量的列(如果是奇数,则拆分列使第一个DataTable
具有额外列)。
场景#1:
主要DataTable
:
col1 col2 col3 col4 col5 col6 col7 col8
9 0 9 5 7 4 9 3
DataTable1
:
col1 col3 col3 col4
9 0 9 5
DataTable2
:
col5 col6 col7 col8
7 4 9 3
场景#2:
主要DataTable
:
col1 col2 col3 col4 col5 col6 col7
9 0 9 5 7 4 9
DataTable1
:
col1 col3 col3 col4
9 0 9 5
DataTable2
:
col5 col6 col7
7 4 9
答案 0 :(得分:2)
您可以复制整个数据表,然后删除您不想要的列。
因此,对于您的第一个示例,以下代码将返回datatable1中的前四列和数据表2中的剩余列。
您可以根据列数修改代码
karma.config.js
答案 1 :(得分:1)
你也可以使用DataView.ToTable(String, Boolean, String[])
的重载版本来实现这个传递所需的列名,如下所示
DataView view1 = new DataView(myDataSet.Tables[0]);
DataTable table1 = view1.ToTable("Table1", true, "col1", "col3", "col4", "col5", "col6");
DataView view2 = new DataView(myDataSet.Tables[0]);
DataTable table2 = view2.ToTable("Table2", true, "col2", "col7", "col8");