我创建了一个DataGridView
绑定到DataTable
Postgres 返回的 a :
dgOrderLines.DataSource = Program.DB.GetView(view);
我已经实现了这个CellEndEdit
事件:
dgOrderLines.CellEndEdit +=
new DataGridViewCellEventHandler(dgOrderLines_CellEndEdit);
现在,当我开始编辑字段时,网格会自动将“新记录”移动到可以在保存编辑记录时使用的视图中:
但是,当我从 更新“新记录”时CellClick
,当用户单击 时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());
}
}
并且,在使用按钮时更新行:
private void dgOrderLines_CellClick(object sender, DataGridViewCellEventArgs e) {
if (dgOrderLines.Columns[e.ColumnIndex].CellType.
Name.Equals("DataGridViewButtonCell")) {
// art.SelectedArticles[0] holds the articleid for this record
UpdateField(e.RowIndex, "articleid", "1234");
}
}