combobox の頭出し機能を付けたい

解決


はやあん  2009-03-28 01:58:36  No: 145835

combobox  に数百件のデータが設定されており、ドロップダウンで選ぶのに時間が掛かってしまいます。

そこでcomboboxに、頭文字を入力すればその部分までDROPDOWNのリストを移動させたい。

例)
aaaa1
aabb2
bb1
bbb3
ccc1
ccc2
 
とリストが登録されていて、comboboxに「b」と入れた場合は、bb1 を先頭にドロップダウンリストを表示する。

以上、よろしくお願いいたします。


特攻隊長まるるう  2009-03-29 16:45:03  No: 145836

Item を全削除して
bb1 から追加しなおせば?


はやあん  2009-03-30 17:08:42  No: 145837

特攻隊長まるるうさん、アドバイスありがとうございます。

質問言葉足らずですみません。
Itemを全削除したのでは、aaaa1,aabb2が消えてしまうかもしくは、後で追加したとしても、SORT順が変わってしまいます。

行いたいことは、Itemの数と並びを変えずに、bb1  の位置が選ばれたようにしたいのです。

以上です。


魔界の仮面弁士  2009-03-30 18:47:33  No: 145838

> そこでcomboboxに、頭文字を入力すればその部分までDROPDOWNのリストを移動させたい。
入力するということは、
  DropDownStyle = DropDown
という事ですよね。

その場合、ドロップダウン中に文字入力を開始すれば、先頭文字が
一致する要素の位置まで、自動的にスクロールするかと思います。

OS によるかも知れませんが、少なくとも当方 XP では
そういう動きとなりました。

自動スクロールしないようであれば、
  AutoCompleSource = ListItems
  AutocompleteMode = None 以外
にしておく事で代用できるかと思います。(VB2005以上)


はやあん  2009-03-30 21:45:12  No: 145839

魔界の仮面弁士さん、アドバイスありがとうございます!

AutoCompleSource = ListItems
AutocompleteMode =  Append  

で、理想通りの動きをするようになりました。

ありがとうございました!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加