【发布时间】:2010-10-28 18:03:29
【问题描述】:
我有一个 DevExpress LookUpEdit,我在 VB.Net 中使用 Visual Studio 2008。
我将 LookUpEdit 绑定到我的数据源,它显示的值可能为 null 或数据源中的行之一。 My program displays a treelist and when a node is select the LookUpEdit is supposed to display the assigned value (could be null) and let the user reassign the value. 我确实将 LookUpEdit.Properties.AllowNullInput 设置为 True。 现在当程序第一次启动时,如果我选择的树列表中的第一个节点具有空值,如果我更改值,LookUpEdit 什么也不显示LookUpEdit 的值在数据库中更改,如果我更改为具有 LookUpEdit 值的节点,则该值会显示。
问题是,如果我从一个有值的节点切换到一个没有 LookUpEdit 的节点会显示以前的值。我已经通过了调试器,它仍在正确地进行获取。
我尝试重置 LookUpEdit.Text、LookUpEdit.EditValue 和 LookUpEdit.SelectedText,但没有任何效果。我什至复制了 LookUpEdit 第一次不显示任何内容时的条件(LookUpEdit.Text = "" 和 LookUpEdit.EditValue = " "),但它仍然显示最后一个值。
我正在使用 lueLocation.EditValue = lueLocation.Properties.GetKeyValueByDisplayText(valueName)
设置实际值编辑
所以我缩小了范围。在我将 Text 和 EditValue 设置为空之后
lueLocation.Text = Nothing
lueLocation.EditValue = Nothing
值已设置。问题在于,在设置值的过程中,下拉菜单会打开。所以我用lueLocation.ClosePopup() 结束了它。由于某种原因,当它被调用时,它会将.Text 和.EditValue 更改回以前的值,从而调用TextChanged Event。
不知道为什么,但我无法保持下拉菜单打开。
【问题讨论】:
标签: vb.net devexpress