我有一个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 |
如何添加此类子列?列数在运行时确定,但子列的数量在编译时是已知的。
答案 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