datagridview单元格值更改后更新数据库记录?

时间:2010-11-02 08:23:18

标签: datagridview

我们曾经使用过远点网格,这使得这很容易,但现在我们正在使用datagridview来表示我们的表单。 我的问题是我需要在datagridview中更改记录,我使用了Cell Leave事件。

private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
    {
        if (dataGridView1[e.ColumnIndex, e.RowIndex].Value == null)//incase it is a blanked cell
        {
            MessageBox.Show("Cell changed:" + e.ColumnIndex.ToString() + ":" + e.RowIndex.ToString() + " New Value:" + " null");

        }
        else
        {
            MessageBox.Show("Cell changed:" + e.ColumnIndex.ToString() + ":" + e.RowIndex.ToString() + " New Value:" + dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString());

        }
    }

我通过更改一个值来测试上面的代码,然后按下回车键(就像用户当前所做的那样),但它显示的不是更改的值,而是前一个。

我已经完成的一个解决方法是更新datagridview中的所有记录,问题是它比我之前需要的时间大约多15秒 - 如果只更改了一条记录,则不需要。

1 个答案:

答案 0 :(得分:1)

好的,我想我可能找到了答案: 如果我将以下代码放在if-else语句之前,那么单元格更改已被识别

    dataGridView1.EndEdit();

之后,可以看到更改后的单元格值。看起来不错!