2012-09-20 105 views
0

我想將數據添加到數據集中的一行,但數據總是在新行上?將數據添加到數據集中的一行?

我需要將數據填充到其列下。 I need something like Ds.Tables[0].Rows[1].add("Item")

enter image description here

我這是怎麼插入數據:

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); 

回答

7

單從數據表中獲得一個新行,然後將該行添加到表,使用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); 
+0

好酷我會嘗試這個:) – Pomster

0

Columns集合的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 article

0

添加正在添加的列。爲了填充行,請執行以下操作。

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

如果不工作,然後讓我知道,