datagridview中的keyup事件

本文关键字:事件 keyup 中的 datagridview | 更新日期: 2023-09-27 18:04:31

我有一个datagridview,现在我的要求是,当用户编辑单元格并单击回车键或tabg键时,新的单元格值应该更新到数据库中,我可以将新的值更新到数据库,我已经在datagridview的keyup事件中编写了我的代码,现在在用户按下回车键时的keyup活动中,控件移动到下一行,所以我得到的行索引值为actualrowindex+1,而且当我单击tab键时,控件正在移动下一列,所以我得到列索引为columnindex+1,我如何处理这些事件以在我单击enetr或tab键时获得确切的列索引或行索引?。。下面是我写代码的事件。。

    private void dataGridView1_KeyUp(object sender, KeyEventArgs e)
    {

    }

datagridview中的keyup事件

当用户有很多其他方法来提交对单元格值的更改时,处理Enter和Tab键是毫无意义的。例如,他们可以单击另一个单元格。假设你希望在他们做这些其他事情时更新数据库,而不仅仅是在他们按下某些键时。

因此,与其处理KeyUp事件,不如处理CellValueChanged事件。每当用户提交对单元格值所做的更改时,就会引发此事件,通常在焦点离开单元格时发生。

正如您所指出的,按Enter键会使焦点转移到列中的下一个单元格,而按Tab键会使重点转移到行中的下个单元格,因此这在您的情况下会很好地工作。当用户使用鼠标单击另一个单元格,或使用箭头键移动到另一个单元,或其他多种提交更改的方法时,它也会起作用。

处理此事件时,将始终为更改后的单元格获取正确的行索引和列索引。此信息包含在作为e参数传递给事件处理程序方法的DataGridViewCellEventArgs对象中。