2010-10-28 125 views
0

我有一個DevExpress LookUpEdit,我在VB.Net中使用Visual Studio 2008。無法取消選擇我的DevExpress LookUpEdit

我已將LookUpEdit綁定到我的數據源,並且它顯示的值可能爲null或數據源中的一行。我的程序顯示一個treelist,當一個節點被選中時,LookUpEdit應該顯示指定的值(可以爲空),並讓用戶重新分配值。 我確實已將LookUpEdit.Properties.AllowNullInput設置爲True。當程序第一次啓動,如果我選擇的treelist中的第一個節點有一個空值,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

不知道爲什麼,但我無法打開下拉菜單。

回答

1

我解決了這個問題。正如您在編輯中看到的那樣,它實際上是lueLocation.ClosePopup(),導致它恢復到以前的.Text.EditValue值。我刪除了lueLocation.ClosePopup(),這導致我的界面在下拉菜單中保持打開狀態,如果該值爲空,並且如果有實際分配的值則關閉。

我發現,如果我設置.EditValueDBNull.ValuelueLocation.EditValue = DBNull.Value),而不是Nothing"",或" "其設置分配給LookUpEdit到東西的價值,並自動關閉的下拉菜單。

3

通常在UI中,Ctrl-Del的組合鍵應該清除它並將其設置爲空。否則,在代碼中,您應該能夠設置EditValue = Nothing,並且應該這樣做。

這裏有一對夫婦在DX網站的鏈接:

搜索: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

+0

按Ctrl-Del清除它。但是當我選擇一個新節點時,它會重新獲取LookUpEdit的數據。然後,如果新值沒有任何內容(所以想顯示空白),LookUpEdit會顯示前一個(舊)值。 – Kyra 2010-10-28 20:36:33

+0

我試圖將EditValue設置爲「」,「」和Nothing(我正在使用VB)。他們都沒有清楚。它只顯示以前的值。 – Kyra 2010-10-28 20:37:22

+0

很奇怪。這對我來說工作得很好。您是否提交過支持DevExpress的問題?包括一些支持請求的代碼似乎總能得到最準確的答案。 – 2010-10-28 22:22:49

相關問題