0

我正在尝试将数据添加到数据集中的一行,但数据总是在新行上?

我需要将数据填充在其列下。I need something like Ds.Tables[0].Rows[1].add("Item")

在此处输入图像描述

这就是我插入数据的方式:

DataSet ds = new DataSet();
            ds.Tables.Add("Properties");
            //GPS
            ds.Tables[0].Columns.Add(ArrayProperties[0].FormMobiField);
            ds.Tables[0].Rows.Add(ArrayProperties[0].Value);
            //Street Num and Name
            ds.Tables[0].Columns.Add(ArrayProperties[3].FormMobiField);      
            ds.Tables[0].Rows.Add(ArrayProperties[3].Value);
            //Suburb
            ds.Tables[0].Columns.Add(ArrayProperties[6].FormMobiField);
            ds.Tables[0].Rows.Add(ArrayProperties[6].Value);
            //City
            ds.Tables[0].Columns.Add(ArrayProperties[7].FormMobiField);
            ds.Tables[0].Rows.Add(ArrayProperties[7].Value);
            //Province
            ds.Tables[0].Columns.Add(ArrayProperties[8].FormMobiField);
            ds.Tables[0].Rows.Add(ArrayProperties[8].Value);
            //Locality Map
            ds.Tables[0].Columns.Add(ArrayProperties[9].FormMobiField);
            ds.Tables[0].Rows.Add(ArrayProperties[9].Value);
            //Property Type
            ds.Tables[0].Columns.Add(ArrayProperties[10].FormMobiField);
            ds.Tables[0].Rows.Add(ArrayProperties[10].Value);
4

3 回答 3

7

只需从 DataTable 中获取一个新行,然后将该行添加到表中,使用DataTable.NewRow方法

DataRow dr = ds.Tables[0].NewRow();
dr["Column1"] = "value";
dr["Column2"] = "value";
dr["Column3"] = "value";

ds.Tables[0].Rows.Add(dr);

您在添加每一列之后添加行,您可以首先通过添加所有列来创建数据表的结构,然后您可以使用获取新行,然后您可以将该行DataTable.NewRow()添加到您的数据表中。添加所有列后,您还可以尝试:

ds.Tables[0].Rows.Add(ArrayProperties[0].Value,ArrayProperties[1].Value,ArrayProperties[2].Value,ArrayProperties[3].Value);
于 2012-09-20T10:05:09.247 回答
0

Datatable 的列集合与表结构有关。在您的代码中,您混合添加列和填充文件。

您应该首先创建结构(未经测试,可能会出现语法错误):

Dataset ds = new Dataset();
Datatable dt = new Datatable();

dt.columns.add(new Column.add(...));
...
dt.columns.add(new Column.add(...));

ds.Tables.add(dt);

进而:

Datarow r = ds.tables[0].NewRow();
r["column1"] = value1;
...
r["columnX"] = valueX;

ds.Tables[0].rows.add(r);

有关详细信息,请参阅此msdn 文章。

于 2012-09-20T10:11:59.677 回答
0

在添加时添加列。要填充行,请执行以下操作。

foreach (DataRow row in ds.Tables[0]) // Loop over the rows.
        {
               row[ArrayProperties[i].FormMobiField]=ArrayProperties[0].Value;
               i++;
            }

如果它不起作用,请告诉我,

于 2012-09-20T10:13:45.693 回答