【问题标题】: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();
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-27
            • 1970-01-01
            • 2017-10-23
            • 1970-01-01
            相关资源
            最近更新 更多