0

我使用 DataGridView 显示来自 PostgreSQL 的行,效果很好。现在我想要实现的是一个可以添加、编辑和删除行的编辑器DataGridView。为此,我创建了事件处理程序来处理这些事件。在处理程序中,我将插入、更新或删除 PostgreSQL 数据库中的行。

dgOrderLines.RowsAdded += 
   new DataGridViewRowsAddedEventHandler(dgOrderLines_RowsAdded);
dgOrderLines.RowsRemoved += 
   new DataGridViewRowsRemovedEventHandler(dgOrderLines_RowsRemoved);
dgOrderLines.CellEndEdit += 
   new DataGridViewCellEventHandler(dgOrderLines_CellEndEdit);

但是,如果我运行此代码,我会在第一次填充时看到事件被触发,DataGridView如下所示:

dgOrderLines.DataSource = Program.DB.GetView("someview");

Program.DB.GetView返回一个DataTable。)

现在,如果我要实现事件处理程序,我将在我的数据库中添加和删除记录,每次我加载我的DatagridView. 有没有办法防止这种情况?

4

1 回答 1

2

找到了。

在设置DataSource事件处理程序之前设置时,它们不会被调用。

于 2013-04-04T10:20:03.020 回答