Re: [VB6 ]下拉式選單(ComboBox)的問題?
小弟不才.
即使有兩位版友給我方向,但花了一些時間還是弄不出來.
有一位版友的建議是:
"與資料庫結合,透過SQL過濾data,取前面n筆資料"
=> 因為VB與資料庫的link完全不懂, 所以沒有往這個方向走.
另一位版友的建議是:
"自己配合字串處理 把不合的項目移除掉"
=>我採用這個方式.
1.ComboBox.MatchEntry 設定為 2 - fmMatchEntryNone
並將ComboBox的內容存到一個A陣列內
2.在ComboBox_Change()的時候,使用Clear方式(ComboBox.clear),
將ComboBox的內容全部清掉,並將ComboBox.text的內容與A陣列的內容用
迴圈全部判斷一次,字串開頭符合者用AddItem加到ComboBox內.
執行後clear後又重新AddItem的ComboBox變得很怪.
下拉式選單本來是滿滿的資料,面積下拉得很大.被clear之後原本被下拉的面積
不變(沒有被更新)但內容變灰色的.
被我篩選出來用AddItem重新填入的data被擠在一個小格子內.
旁邊多出了一個小小的上下鍵可選擇我要的資料.
總之做出來的跟我理想中的不一樣:~~~~~
不曉得除了連結資料庫的方法之外,有沒有機會將comboBox做成
像"yahoo字典"那樣的功能?
※ 引述《necsa (necsa)》之銘言:
: 記得很久以前有看過一個別人的程式.
: 有一個下拉式選單,像是使用style=0組合式的那種.
: 可以下拉也可以自行keyin.
: 但他有一個比較特別的功能是假設選單內有很多筆data,
: 在輸入區輸入的時候,選單會篩選剩下字元開頭符合輸入字元的選項.
: 例如選單內有4筆:
: 1234555
: 1243666
: 1245555
: 1324536
: 輸入1的時候,有4個選項可選 (開頭全符合1)
: 1234555
: 1243666
: 1245555
: 1324536
: 輸入12的時候,會剩下(12開頭)
: 1234555
: 1243666
: 1245555
: 輸入124,會剩下(124開頭)
: 1243666
: 1245555
: 124又改回123, 剩下的又是
: 1234555
: 經過這樣的篩選, 如此一來只要key前幾個字元,
: 剩餘符合的選項就會越來越少,
: 不用key完全部就可以直接選到要的選項
: 不知道這樣的ComboBox是只要設定某個屬性就可以達成?
: 還是要另外寫判斷式去做篩選?
: 我試了好幾個都試不出來, 想請問高手這樣的功能是怎麼辦到的?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.228.151.34
推
04/16 12:32, , 1F
04/16 12:32, 1F
→
04/16 12:37, , 2F
04/16 12:37, 2F
→
04/16 12:38, , 3F
04/16 12:38, 3F
→
04/16 12:39, , 4F
04/16 12:39, 4F
→
04/16 12:42, , 5F
04/16 12:42, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):