【发布时间】:2011-07-18 16:25:42
【问题描述】:
我在 Visual Studio 2008 的 VB.Net 项目中使用 DevExpress (10.2) 树列表。我目前有一个带有 TreeList.OptionsBehavior.Editable = True 的树列表。我有两列,第一列是AllowEdit = False。第二列我通过动作FocusedNodeChanged动态设置AllowEdit和ReadOnly。
在FocusedNodeChange 子例程中,我检查行中是否有特定值,如果是,我将其设置为可编辑或不可编辑。我将其设置为可编辑:
treeList.Columns("field_name").OptionsColumn.ReadOnly = False
treeList.Columns("field_name").OptionsColumn.AllowEdit = True
并将其设置为只读:
treeList.Columns("field_name").OptionsColumn.ReadOnly = True
treeList.Columns("field_name").OptionsColumn.AllowEdit = False
这在一定程度上有效。现在,如果我进入树形列表中的可编辑单元格,光标会出现并闪烁,所以我知道它是可编辑的,如果我在不可编辑行被聚焦时进入单元格,光标不会闪烁。
但是,即使光标闪烁,我也无法输入。当我点击键盘上的键(数字和字母)时,什么也没有写出来。
已解决
简单的解决方案。我用来将数据提取到表中的存储过程不包含我试图使其可编辑和不可编辑的特定列的字段。这是因为它是一个新值,它的插入/更新方式与正常情况不同。为了解决这个问题,我获取了 null 和/或 0,它运行良好。
【问题讨论】:
标签: vb.net visual-studio-2008 devexpress