c# - 如何将 DataTable 拆分为两个单独的列

标签 c# sql-server datatable

我有一个 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/

相关文章:

c# - 设置树的边界(数据结构)

r - 使用odbc在R studio Session中从MS sql server读写时出现问题

php - 如何将 PHP 数据库连接从 MySQL 更改为 MS SQL Server?

java - Primefaces dataTable 分页器 header 未调整

c# - Xamarin - 如何动态更改图像源?

c# - 以编程方式将 Google 日历共享设置设置为 "Make this calendar public"

c# - VS2012、C#、Monogame - 加载 Assets 异常

sql-server - Windows API 调用 "RegGetValueW"返回错误代码 : 0

c# - SqlDataAdapter.Fill 和 SqlDataReader.Read 的结果不一致

c# - 在 DataTable 已经有数据后为 DataTable 设置自动编号