winforms 强制网格单元格以编程方式失去焦点并提交更改

v8wbuo2f  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(134)

在我的Win-Form应用程序中,我正在使用SqlDataAdapterDataGridview更新数据库。
我正在使用MenuStripItmectrl + s快捷方式调用更新功能。
问题是当前编辑的单元格没有失去焦点,因此数据没有提交到数据库。如果我为此使用按钮或手动单击单元格外,那么它工作正常。
我已经尝试了下面提到的方法,但没有运气:

myGridView.EndEdit();
myGridView.CommitEdit(DataGridViewDataErrorContexts.Commit);
myGridView.ClearSelection();

这里是保存数据到数据库的函数。

private void saveMenuItem_Click(object sender, EventArgs e)
    {
        SqlCommandBuilder commandBuilder = new SqlCommandBuilder(adapter);
        adapter.Update(table);
        MessageBox.Show("Data Saved Successfully", "Save", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }

你知道吗?

bpsygsoo

bpsygsoo1#

这解决了我的问题:

grdAtivoItem.CloseEditor();
grdAtivoItem.UpdateCurrentRow();

我在保存单击事件时调用此函数

相关问题