1

我将如何更新一行中的单个单元格,例如 Row[0] 我想用其当前值 +1 更新列“Value”。这是我拥有的代码,它选择单行,但值更新为所有列“值”数据,然后 +1

public void MetricChange()
    {
        DataTable dt = ds.Tables["MetricTable"];
        int value = dt.AsEnumerable().Sum(r1 => r1.Field<int>("Value"));
        if (Access.Checked)
        {
            ds.Tables["MetricTable"].Rows[0]["Value"] = value +1;
            //ds.Tables["MetricTable"].Rows[1]["Value"] = value - 1;
            Chart2.DataSource = ds.Tables["MetricTable"];
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }

    }

我将如何更新单行中的“值”列???

4

2 回答 2

1

目前您只修改一行,您需要对数据表中的每一行执行此操作。

for(int i = 0; i < ds.Tables["MetricTable"].Rows.Count;i++)
    ds.Tables["MetricTable"].Rows[i]["Value"] = value +1;

检查数据集是否存在空值和表总是更好。就像是。

if(ds != null && ds.Tables.Count > 0 && ds.Tables["MetricTable"] != null)
于 2012-12-05T09:37:52.267 回答
0

这就是你的做法:P

int val = Convert.ToInt32(ds.Tables["MetricTable"].Rows[0]["Value"]) + 1;

然后以此更新行ds.Tables["MetricTable"].Rows[0][1] = val

于 2012-12-05T12:18:28.647 回答