我使用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
时,我都会在数据库中添加和删除记录。有没有办法防止这种情况?
答案 0 :(得分:2)
找到它。
在设置事件处理程序之前设置DataSource
时,不会调用它们。