1

我在 C# 中有一个像这样的表

 DataTable table = new DataTable();
        table.Columns.Add("", typeof(string));
        table.Columns.Add("Color", typeof(string));
        table.Columns.Add("Brand", typeof(string));
        table.Columns.Add("Type", typeof(string));
        table.Columns.Add("Seats", typeof(int));
        table.Columns.Add("Fuel consumption", typeof(int));
        table.Columns.Add("Max. speed", typeof(int));


        table.Rows.Add();

如果我想在一个单元格中有多个值,我不知道如何将值添加到行中,例如在颜色列中将是蓝色、绿色、黄色作为 3 个单独的字符串,而在席位中将是 2、4, 5, 8 作为整数...

4

3 回答 3

0

如果一行中有超过 1 个值,那么为什么将字符串作为数据类型。而是有一个数组数据类型,如 int[]。

DataTable table = new DataTable();
table.Columns.Add("", typeof(string));
table.Columns.Add("Color", typeof(int[]));
table.Columns.Add("Brand", typeof(string));
table.Columns.Add("Type", typeof(string));
table.Columns.Add("Seats", typeof(int[]));
table.Columns.Add("Fuel consumption", typeof(int));
table.Columns.Add("Max. speed", typeof(int));

现在,当您添加这样的行时

DataRow dr = table.NewRow();
dr[0] = "";
dr[1] = new int[] {20,24,44}; //For RGB values
.
.
dr[4] = new int[] {2,4,5,8}; // For Seat Numbers
.
.
table.AddRow(dr);

检索时,您可以这样做

int[] val = (int[])table[0][2];
于 2012-05-28T10:42:33.107 回答
0

添加分隔符以区分列中的多个值。例如,在添加数据时将分隔符添加为逗号 (,)

于 2012-05-28T10:43:35.997 回答
0

您可能需要将列的数据类型更改为字符串

table.Columns.Add("Seats", typeof(string));

而不是添加逗号分隔值。

于 2012-05-28T10:44:55.947 回答