我的Devexpress Gridview Delete事件多次触发

时间:2010-07-21 16:17:26

标签: vb.net gridview devexpress actionlistener

我有一个Devexpress Gridview,它链接到删除,获取和更新存储过程。我遇到的问题是,当我运行程序时,在网格中选择一行并按删除它会多次触发事件。具体来说,它删除所选行,然后重新获取数据,以便焦点返回到第一行。这就是我想要的。不幸的是,它从我的列表的开头开始,逐行删除它所涉及的每一行。删除行后,它会再继续几次。我知道这是因为对于每个删除的行,它会询问我是否要删除它。如果我说不,那么行似乎会消失,直到我在删除完成后手动刷新它。为了使这更加随机,我手动刷新网格后,第二行总是重新出现。

我看到大多数在互联网上遇到此问题的人都将事件与多个对象相匹配但我自己并没有创建actionlistener,设计师代码就这样做了一次,而且我的设置方式与我一直相同。另外我尝试调试它(Visual Studio 2008)并且它不会在断点处停止,即使它打印出直接在该行下面的行。

编辑:

我已经缩小了问题范围。我之前没有提到,但我有一个显示部门及其员工姓名的树形图。单击某个部门时,它会在窗口的右窗格中显示上面提到的网格。首次启动程序时,删除actionlistener只会被触发一次。当我选择第二个部门时,在网格中选择一行,它会被触发两次。基本上每次我选择一个不同的部门时,都会触发另一个删除。因此,如果我选择了另一个部门5次,那么当我尝试删除一行时,删除会被触发5次。

1 个答案:

答案 0 :(得分:1)

所以我找到了答案,希望能帮助别人。

基本上,我将存储过程设置在单击部门时设置右窗格的同一功能中。因此,当我点击树形图上的某个部门时,它会再次设置网格。所以基本上它每次都在重新创建它。为了解决这个问题,我只是将网格的创建和开始时的main函数移动了一次,只调用了一次。