代码之家  ›  专栏  ›  技术社区  ›  Kyra

无法取消选择我的devexpress lookupedit

  •  0
  • Kyra  · 技术社区  · 14 年前

    我有一个devexpress lookupedit,我在vb.net中与Visual Studio 2008一起使用。

    我将lookupedit绑定到数据源,它显示的值可能为空或数据源中的某一行。我的程序显示一个树列表,当选择一个节点时,lookupedit应该显示分配的值(可以为空),并让用户重新分配该值。 我确实将lookupedit.properties.allowNullInput设置为true。 现在,当程序第一次启动时,如果我选择的树列表中的第一个节点具有空值,则lookupedit不显示任何内容;如果我更改lookupedit的值,则编辑数据库中的值更改;如果我更改为具有lookupedit值的节点,则显示该值。

    问题是,如果我从一个具有值的节点切换到一个没有lookupedit的节点,那么会显示上一个值。我已经通过了调试程序,它仍在正确地进行获取。

    我尝试重置lookupedit.text、lookupedit.editValue和lookupedit.selectedText,但没有任何效果。我甚至复制了lookupedit在第一次显示为Nothing(lookupedit.text=)和lookupedit.editValue=)时的条件,但它仍然显示最后一个值。

    我正在设置实际值 luelocation.editValue=luelocation.properties.getKeyValueByDisplayText(valueName)

    编辑

    所以我缩小了范围。在我将文本和editValue设置为Nothing之后

    lueLocation.Text = Nothing
    lueLocation.EditValue = Nothing
    

    设置值。问题是,在设置值时,下拉菜单会打开。所以我把它和 lueLocation.ClosePopup() . 出于某种原因,当它被称为 .Text .EditValue 返回到以前的值,从而调用 TextChanged Event .

    不知道为什么,但我不能保持下拉菜单打开。

    2 回复  |  直到 14 年前
        1
  •  3
  •   J. Clay    14 年前

    通常,在用户界面中,ctrl del的组合键应该将其清除并设置为Nothing。否则,在代码中,您应该能够设置editValue=Nothing,这应该可以做到。

    http://search.devexpress.com/?q=clear+lookupedit&p=T4%7cP1%7c4&d=447

    http://www.devexpress.com/Support/Center/p/Q96464.aspx http://www.devexpress.com/Support/Center/p/Q270901.aspx

        2
  •  1
  •   Kyra    14 年前

    lueLocation.ClosePopup() .Text .EditValue

    DBNull.Value lueLocation.EditValue = DBNull.Value Nothing "" " "