我的CellEndEdit
上有一个DataGridView
事件,它调用数据库函数来实时更新我的数据。这工作正常,我的数据在我的数据库中更新。更新数据后,我调用名为RefreshRow()
的方法来刷新DataGridView
中的数据:
private void RefreshRow(int rowIndex) {
DataGridViewRow row = dgLines.Rows[rowIndex];
int orderlineid = (int)row.Cells["lineid"].Value;
DataTable record = Global.DB.GetView("wms_view_line", "lineid="+lineid);
foreach(DataGridViewCell cell in row.Cells) {
DataGridViewColumn col = dgOrderLines.Columns[cell.ColumnIndex];
string colname = col.Name;
string newval = record.Rows[0][col.Name].ToString();
cell.Value = newval;
}
}
调试时,我可以看到cell.Value = newVal
实际使用的是新值。但是,在我的网格中,旧值再次出现。