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

Comboboxについて

環境/言語:[windowsXP]
分類:[.NET]

お世話になっております。

タイトルにある通りComboBoxについての質問なのですが
フォームにComboBoxとTextBoxを 一つずつ作成し、
データベースよりComboBoxに[No]、TextBoxに[国名]
を設定します。

その際にComboBoxの▼を押下した時の表示を
No|国名と表示する方法を教えて頂けますでしょうか?
お世話になります。

■No13199に返信(若葉さんの記事)
普通に、
ComboBox.Items.Add("No" + " | " + "国名")
※"No"と"国名"はDBからとってきた値
という事ではないですか?
なおこ様、ご回答ありがとうございます。

説明が悪くて申し訳ございません。
[No]、[国名]ともにDBから持ってくる内容です。

UpDataの際には[No]だけを保存したいのですが
大丈夫でしょうか?
2005/10/11(Tue) 13:26:55 編集(投稿者)

てっとり早くは、テーブルから引っ張ってくる時に加工してしまいましょう。

select No, (No + "|" + 国名) as country from hoge

または、select No, 国名 from hoge
で、データテーブルを作成しておき、そのデータテーブルを1件ずつ読みながら、国名の項目を加工するという手もあります。
  • 題名: Re[4]: Comboboxについて
  • 著者: なおこ(・∀・)
  • 日時: 2005/10/11 13:34:13
  • ID: 13207
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
お世話になります。

■No13206に返信(trapemiyaさんの記事)
> 2005/10/11(Tue) 13:26:55 編集(投稿者)
>
> てっとり早くは、テーブルから引っ張ってくる時に加工してしまいましょう。
>
> select No, (No + "|" + 国名) as country from hoge
>
> または、select No, 国名 from hoge
> で、データテーブルを作成しておき、そのデータテーブルを1件ずつ読みながら、国名の項目を加工するという手もあります。

そうですね。
上記SQLでとってきた内容で、DataTableを作成し、
DataSourceにそのDataTableを指定し、
DisplayMemberにcountry を指定し、
ValueMemberにNoを指定する、という方法が簡単でしょう。
trapemiya様、ご回答ありがとうございます。

やはりまだ説明が足りませんでした。

▼を押した際に表示するのは No | 国名 なのですが
リストより決定した(閉じる)場合は No のみを表示したいのです。
  • 題名: Re[5]: Comboboxについて
  • 著者: trapemiya
  • 日時: 2005/10/11 14:20:47
  • ID: 13210
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No13208に返信(若葉さんの記事)

> ▼を押した際に表示するのは No | 国名 なのですが
> リストより決定した(閉じる)場合は No のみを表示したいのです。

ComboBoxのSelectedIndexChangedでComboBoxのTextプロパティにNoだけをセットすればいけるような気がします。(未確認です)
  • 題名: Re[1]: Comboboxについて
  • 著者: 深山
  • 日時: 2005/10/12 1:25:10
  • ID: 13225
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
ドロップダウンリストの項目を独自に描画してあげれば、お望みのことができるでしょう。こちらの Tips が参考になるかと思います。

ComboBoxの項目を自分で描画する
http://dobon.net/vb/dotnet/control/cbownerdraw.html

#もし解り辛いようでしたら、「オーナードロー」や「DrawItem」をキーワードに検索してみることをお勧めします。

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