1

行内の単一のセルを更新するにはどうすればよいので、たとえば、Row[0] 列「値」を現在の値 +1 で更新したいとします。これは私が持っているコードで、単一の行を選択しますが、値はすべての列の「値」データで更新され、その後+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

現在、1 つの行のみを変更しています。データ テーブルの行ごとに変更する必要があります。

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

null およびテーブルの存在に対してデータセットをチェックすることを常にお勧めします。何かのようなもの。

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 に答える