我使用 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
. 有没有办法防止这种情况?