我遇到了一些问题,我使用DataTable将数据存储在dataGridView中.数据输入如下:
dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("par", typeof(string));
dt.Columns.Add("max", typeof(int));
dt.Columns.Add("now", typeof(int));
dt.Rows.Add(new object[] { id++,i + " " + j++, strarr[0], strarr[1] }); // ... etc etc
dataGridView1.DataSource = dt;
Run Code Online (Sandbox Code Playgroud)
现在我想做一些更改,我使用代码:
dt.Rows[1].ItemArray[3] = "VALUE";
Run Code Online (Sandbox Code Playgroud)
当我调试时,ItemArray表示我想要的行,所以它的okey,但我仍然无法做任何更改,什么是错的?如何更新DataTable ??? 我正在谷歌搜索没有:(
Yan*_*nol 42
尝试SetField方法:
table.Rows[i].SetField(column, value);
table.Rows[i].SetField(columnIndex, value);
table.Rows[i].SetField(columnName, value);
这应该完成工作,并且比使用Rows [i] [j]有点"干净".
man*_*nji 16
dt.Rows[1].ItemArray为您提供项目数组的副本.修改它时,您不会修改原始文件.
你可以这样做:
dt.Rows[1][3] = "Value";
Run Code Online (Sandbox Code Playgroud)
当您要修改所有行值时,将使用ItemArray属性.
例:
dt.Rows[1].ItemArray = newItemArray;
Run Code Online (Sandbox Code Playgroud)