将值添加到特定DataTable单元格

时间:2012-09-06 02:44:45

标签: c# datagridview datagrid datatable

我想知道是否可以向特定的DataTable单元格添加值?

假设我有一个现有的dataTable,并且我添加了一个新列,如何在不覆盖现有列的行的情况下添加到新列的行?

据我所知,没有一种方法可以添加到特定的细胞(除非我错了)。

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

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

任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:20)

如果它是一个全新的行,您只想设置一个值,则需要添加整行,然后设置单个值:

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

否则,您可以找到现有行并设置单元格值

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

答案 1 :(得分:7)

试试这个:

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

例如:如果要将值5(数字5)添加到第一行和列名称"索引"你会这样做

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

我相信DataTable行以0开头

答案 2 :(得分:1)

我认为你不能这样做,但至少你可以更新它。要编辑DataTable中的现有行,您需要找到要编辑的DataRow,然后将更新的值分配给所需的列。

实施例,

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

<强> SOURCE HERE

答案 3 :(得分:0)

您的意思是要添加新行并仅将数据放入某列?请尝试以下方法:

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

因为它是一个数据,所以每列中总会有某种数据。它可能只是DBNull.Value而不是您想象的任何数据类型。

答案 4 :(得分:0)

如果有人正在寻找更新的正确语法,请尝试以下方法:

Example:
dg.Rows[0].Cells[6].Value = "test";