DataTable - 如何创建子列

时间:2017-06-23 10:50:13

标签: c# datatable

我有一个DataTable,我希望每个列都有三个相同的子列:

       |       Column1      |     Column2        |      Column3        |
       | cat1 | cat2 | cat3 | cat1 | cat2 | cat3 | cat1 | cat2 | cat3  |
row1   |  2   |  3   |  1   |   1  |   2  |   0  |   2  |  1   |   0   |
row2   |  7   |  5   |  7   |   2  |   4  |   1  |   0  |  1   |   2   |
row3   |  3   |  0   |  3   |   3  |   8  |   0  |   2  |  0   |   2   |

如何添加此类子列?列数在运行时确定,但子列的数量在编译时是已知的。

1 个答案:

答案 0 :(得分:2)

DataTable中没有“子列”功能。表只能有列(如数据库表)。但我认为你将存储与显示混淆。

使用单独的列存储它们,但将它们组合在一起,以便在其中进行显示。也许您的数据模型是错误的,您需要该类别的另一列:

var tbl = new DataTable("Sample");
tbl.Columns.Add("Column1", typeof(int));
tbl.Columns.Add("Column2", typeof(int));
tbl.Columns.Add("Column3", typeof(int));
tbl.Columns.Add("Category", typeof(int)); // foreign-key to category table