1

我有一个DataGridView与我的 Access 数据库连接的 C# 语言。我看到了我所有的书DataGridView。我创建了一个鼠标单击事件处理程序来选择一行,然后我可以保存该行,如下所示:

private void Mouse_Click(object sender, MouseEventArgs e)
{
    try
    {
        temp = dataGridView1.SelectedRows[0].Index.ToSt… 

        //This one is selecting the row. To do that select panel>event> on MouseClick write name and double click:

        MessageBox.Show("You have selected the row " + temp);
    }
    catch
    {
    }
}

当我打开表单时它可以工作。但是,在将所选行保存到另一个数据库后,鼠标单击事件处理程序停止工作。换句话说,在保存第一个选定行后,当我回来选择另一行并保存到数据库时,鼠标单击事件处理程序不起作用。消息说行超出范围。

4

1 回答 1

0

您没有提供与连接类型、事件处理程序以及更重要的是保存/更新记录的方式相关的太多信息,所以我只是在这里猜测:您不是不小心覆盖了网格的 DataSource 吗?对于这种行为,这是我唯一能想象的(“行超出范围”——这也假设事件仍然按预期工作,但函数中的代码再也看不到数据了)。

于 2013-04-23T13:57:03.583 回答