DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コンボボックスの作成

分類:[.NET]

お世話になります。。

質問ですが、
コンボボックスに都道府県のリストを作成する場合に、
都道府県のリストのデータはデータベースに存在しています。

まず、SQLで都道府県名と県コード(例、北海道:01)のSELECTをながします。
その後にリストには都道府県名のみを表示させます。
(県コードは都道府県名を昇順に表示させるために利用しています)
そこで、コンボボックスのテキスト欄に県コードを入力すると同時に、
リストの都道府県名が選択されるようにしたいと考えています。

あくまで、リストには都道府県名のみを表示させておきたいと
考えています。

私は.NETを始めて2週間の初心者なので、
申し訳ないですが詳しくお願いいたします。
こんにちは、たかしさん。ピラルクです。

入力された県コードがMatchしたその瞬間に、
Textが当該の都道府県名に置き換わってよい
のなら比較的簡単に実現できます。

Step1.リストに設定する時にCollectionとかで対応表を作成
Step1.ComboBoxのTextChangedイベントでStep2以降を処理
Step2.FindStringExactで対応表を通してMatchするIndexを取得
Step3.一致するものがあればSelectedIndexで指定する

ではなくて、ドロップダウンの選択位置だけを移動?
ご返事ありがとうございます。

>ではなくて、ドロップダウンの選択位置だけを移動?
説明不足ですみません・・・
置き換わるのではなくて、選択位置だけを移動したいと
考えています。

どうかご教授お願いします。
> 置き換わるのではなくて、選択位置だけを移動したいと
> 考えています。

って、テキストにキャレットが入るとリストの選択色は消えますね。
先頭に持ってくるということかな。
それは……簡単じゃなさそうですね。。。
なんらかの方法でドロップダウンのIndexを制御できても、それだけ
ではTextBoxへのフィードバックを止めれないないだろうし。
訂正:
DrawModeをOwnerDrawにして、ComboBox1を継承してOnDrawItem
でごにょごにょすれば、できそうですね。
ご返事ありがとうございます。。

実際に私が使いこなせるか判りませんが、
ご指導いただいた方法で、ごにょごにょしてみます(^o^)v

DOBON.NET | プログラミング道 | プログラミング掲示板