2010-03-26 77 views
0

語境:
我實現柔性自動提示組合框 - 在每個字符的用戶類型:考慮字符串「#1」和用戶輸入=「ST」柔性組合框退格或刪除鍵不會刪除高亮文本

1)將數據提供程序過濾以顯示以'st'開頭的所有項目 2)將文本設置爲自動建議字符串,以便高亮顯示未鍵入的部分。

因此,例如,組合框的文本可能包含st'ackoverflow「其中‘ackoverflow’正在使用的setSelectedIndex()強調

問題:
當我打回空間或刪除,並選中」此.text'值,我預計最後一個未加亮的字符(在上例中爲't')將被刪除,並且數據提供程序將被過濾以顯示以's'開頭的所有項目。但文本屬性包含'st',如前

問題:
我在想什麼?我還有什麼可以嘗試?

回答

0

我意識到,我的假設是不正確的 - 當我打退格,文本的突出部分本身就應該消失 - 我需要做一些額外的處理在開始時獲得一個額外的字符走開

0

這是如何實現的:收聽退格鍵事件並設置布爾標誌。 然後在列表更改處理程序中,讀取布爾標誌,並將this.text設置爲您想要的(即),在高亮的開始處刪除1個字符。請注意,您不能立即在退格處理程序中設置this.text,因爲textinput控件退格處理程序將重置我們設置的內容。