使用DataGridViewButtonColumn时未显示新记录

时间:2013-07-09 15:21:53

标签: c# datagridview

我创建了一个绑定到Postgres返回的DataGridView的{​​{1}}:

DataTable

我已实施dgOrderLines.DataSource = Program.DB.GetView(view); 事件:

CellEndEdit

现在,当我开始编辑某个字段时,网格会自动将“新记录”移动到视图中,以便在保存编辑过的记录时使用该字段:

enter image description here

但是,当我从dgOrderLines.CellEndEdit += new DataGridViewCellEventHandler(dgOrderLines_CellEndEdit); 更新“新记录”时,当用户点击CellClick时,系统不会添加:{/ p>

enter image description here

无法手动添加,因为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());
        }
    }

1 个答案:

答案 0 :(得分:0)

我找到了。

显然,当您在TextBox单元格中开始编辑时,只要您输入内容,单元格就会被标记为“脏”。所以,我所要做的就是让我的Button单元变脏。当然,立即StackOverflow helped me

我所要做的就是:

myGrid.NotifyCurrentCellDirty(false);
在我开始编辑之前

(在CellClick上)

myGrid.NotifyCurrentCellDirty(true);

将数据写入Button列后。