0

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

我看到大多数在互联网上遇到此问题的人都将事件与多个对象匹配,但我自己并没有创建动作侦听器,设计器代码做过一次,我已经按照我一直做的方式设置它。此外,我尝试对此进行调试(Visual Studio 2008),即使它打印出该行正下方的行,它也不会在断点处停止。

编辑:

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

4

1 回答 1

1

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

基本上,我在单击一个部门时设置我的右窗格的相同函数中设置存储过程。所以当我点击树列表上的一个部门时,它会再次设置网格。所以基本上它每次都在重新创建它。为了解决这个问题,我只是将网格的创建移到了开始时只调用一次的主函数。

于 2010-07-21T20:29:49.263 回答