我创建了一个绑定到Postgres返回的DataGridView
的{{1}}:
DataTable
我已实施dgOrderLines.DataSource = Program.DB.GetView(view);
事件:
CellEndEdit
现在,当我开始编辑某个字段时,网格会自动将“新记录”移动到视图中,以便在保存编辑过的记录时使用该字段:
但是,当我从dgOrderLines.CellEndEdit +=
new DataGridViewCellEventHandler(dgOrderLines_CellEndEdit);
更新“新记录”时,当用户点击CellClick
时,系统不会添加:{/ p>
无法手动添加,因为DataGridViewButtonColumn
已绑定。
编辑单元格的代码:
DataGrid
并且,在使用按钮时更新行:
void dgOrderLines_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
// Get the edited cell
DataGridViewCell cell = dgOrderLines.Rows[e.RowIndex].Cells[e.ColumnIndex];
string column_name = dgOrderLines.Columns[e.ColumnIndex].Name;
if (cell.Value != null) {
UpdateField(e.RowIndex, column_name, cell.Value.ToString());
}
}
答案 0 :(得分:0)
我找到了。
显然,当您在TextBox
单元格中开始编辑时,只要您输入内容,单元格就会被标记为“脏”。所以,我所要做的就是让我的Button
单元变脏。当然,立即StackOverflow helped me。
我所要做的就是:
myGrid.NotifyCurrentCellDirty(false);
在我开始编辑之前(在CellClick
上)
myGrid.NotifyCurrentCellDirty(true);
将数据写入Button
列后。