gpt4 book ai didi

checkbox - DevExpress XtraGrid 复选框检查未注册,除非焦点更改

转载 作者:行者123 更新时间:2023-12-04 11:15:16 27 4
gpt4 key购买 nike

我们的 Windows 窗体上有一个数据绑定(bind)的 XtraGrid。其中一列是一个复选框。问题如下:当用户选中复选框并单击“确定”按钮时,该复选框虽然被可见选中,但未被网格视为选中。当我这样做时(在遍历行时):

isAllowed = Convert.ToBoolean(viewMain.GetRowCellValue(nRowCtr, "IsAllowed"))

我回来是假的。但是,如果用户选中该框,然后单击表单上的其他位置或此网格中的另一行,从而将焦点从选中的复选框中移开,则上面的相同代码将返回 True。

任何有关如何解决此行为的见解将不胜感激。

找到解决方法:
使用默认设置,当用户单击单元格进行编辑时,单元格进入编辑模式,加载编辑器控件(在本例中,我有一个 CheckEdit 存储库控件)并更改控件的值(在本例中为选中状态)。如果我单击另一行或另一个控件,则单元格将退出编辑模式,将更改提交给数据项。但是,如果我单击一个按钮,那么我的更改就会丢失。解决方法是使用 CheckEdit 的 CheckedChanged 事件来关闭编辑器:
Private Sub edCheck_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edCheck.CheckedChanged
gridYears.FocusedView.CloseEditor()
End Sub

最佳答案

实际上有一种更简洁的方法(它适用于所有 RepositoryItems),详见 DevExpress site .这个想法是从存储库项的 EditValueChanged 事件处理程序调用 GridView.PostEditor 方法,以立即将编辑的值保存到网格的单元格和基础列。

关于checkbox - DevExpress XtraGrid 复选框检查未注册,除非焦点更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5277903/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com