【问题标题】:How can I update cell value of a data table?如何更新数据表的单元格值?
【发布时间】:2012-02-16 10:39:56
【问题描述】:
如何更新数据表的单元格值
if ((sr_no == "") && (customer_name != ""))
{
string contact_no = SheetData.Tables[0].Rows[row].ItemArray[3].ToString();
Records.Rows[0].ItemArray[2]
}
如果下一行有contact_no fround,我想更新数据表的单元格。
【问题讨论】:
标签:
c#
.net
ado.net
datatable
【解决方案1】:
如果Records 是您的DataTable,请执行以下操作:
Records.Rows[i][j] = value;
这并不能回答整个问题,而是向您展示如何在 DataTable“单元格”中设置值。
您正在使用ItemArray,这是不需要的,因为一旦您拥有正确的行,您就可以简单地使用[] 访问其列
您可以根据此提示进行详细说明并找出最终解决方案。
【解决方案2】:
如果您使用Records.Rows[0].ItemArray[2] = value,这将无法正常工作,但如果您使用Records.Rows[0][2] = value,则可以完美运行。
【解决方案3】:
使用 DataTables 版本 1.10.22 时,以前的答案对我不起作用,但以下答案确实有效。如果Records 是DataTable,r 是从零开始的行索引,c 是从零开始的列索引,那么:
Record.cell( r, c ).data( value ).draw();
在链的末尾调用 draw() 是可选的,但会强制 DataTable 更新其内部缓存。
【解决方案4】:
对于所有行的特定列,(2 ==> 列索引(第 3 列))
table.column(2).data().each( function ( value, index) {
table.cell(index, 2).data('update data');
}); table.draw();