在c#table中为一个单元格添加更多值

时间:2012-05-28 10:40:12

标签: c#

我在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作为整数...

3 个答案:

答案 0 :(得分:0)

如果一行中有多个值,那么为什么有一个字符串作为数据类型。而是有一个数组Datatype,如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];

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

并添加逗号分隔值。