2012-09-06 37 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"; 
相关问题