2012-09-06 35 views
15

我想知道是否可以將值添加到特定的DataTable單元格?將值添加到特定的DataTable單元格

假設我有一個現有的數據表,我添加一個新的列,我將如何去添加到新列的行而不覆蓋現有列的行?

據我所知,沒有一種方法添加到特定的單元格(除非我錯了)。

dt.Rows.Add(a, b, c, d) 

其中a,b,c和d是字符串值。那麼,如果我只想添加到d列呢?

任何幫助,將不勝感激。

回答

18

如果是,你想只設置一個值,你就需要添加整排一個完全新行,然後設置個人價值:

DataRow dr = dt.NewRow(); 
dr[3].Value = "Some Value"; 
dt.Rows.Add(dr); 

否則,您可以找到現有的行並設置單元格值

DataRow dr = dt.Rows[theRowNumber]; 
dr[3] = "New Value"; 
+9

'dr [3] =「新值」;'不需要「.Value」。 – Machtyn

0

你的意思是你想添加一個新的行,只把數據放在某一列?請嘗試以下操作:

var row = dataTable.NewRow(); 
row[myColumn].Value = "my new value"; 
dataTable.Add(row); 

由於它是一個數據,不過,總是會有某種按照每列的數據。它可能只是DBNull.Value,而不是你想象的任何數據類型。

0

我認爲你不能這樣做,但至少你可以更新它。爲了編輯DataTable中的現有行,您需要找到要編輯的DataRow,然後將更新的值分配給所需的列。

例,

DataSet1.Tables(0).Rows(4).Item(0) = "Updated Company Name" 
DataSet1.Tables(0).Rows(4).Item(1) = "Seattle" 

SOURCE HERE

5

試試這個:

dt.Rows[RowNumber]["ColumnName"] = "Your value" 

例如:如果你想添加值5(5號),以第1行和列名 「指數」 你這樣做

dt.Rows[0]["index"] = 5; 

我相信DataTable行以0開頭

0

如果有人正在尋找這樣更新的正確語法,請嘗試以下操作:

Example: 
dg.Rows[0].Cells[6].Value = "test"; 
相關問題