关于GridControl中增加复选框后,只有在复选框失去焦点后才可以读值的解决方案

今天应现场需求,要在某个界面上增加多选功能,如下如。

我的解决思路是:

①首先在GridControl控件上增加一列多选框,以供使用者选择。

②然后在GridView的CellValueChanged事件中写自己具体的逻辑代码。如下图。

 但是呢,测试的时候发现这里有个问题,就是无论如何点击复选框,这个CellValueChanged事件就是不触发,偶然情况下,当我点击了其他地方,发现这个事件居然被触发了,所以我定位到问题大概是:当我们点击复选框的时候,单元格处于编辑状态,此时它的值还未更新到gridControl,只有当单元格失去编辑状态(也就是失去焦点)后,单元格的值才会提交到GridControl,进而才会触发CellValueChanged事件。

所以,我想到需要手动提交一下数据,已达到效果,所以就有了下面第三步。

③在GridView的CellValueChanging事件中手动提交一下数据。如下图

到此时,我们就解决了这个问题,可以顺利地触发 CellValueChanged事件并且在其中拿到复选框的值。

猜你喜欢

转载自blog.csdn.net/weixin_45963929/article/details/128577593