コンボボックスの複数列表示に関して
開発言語:Visual Basic 2008
現在、コンボボックスをフォーム上に作成し、そのコンボボックスにテーブルから取得した項目を表示させ、
選択させるような事を考えています。
その際に、コンボボックスに表示する内容として、例えば2つの列、
コード、内容
001、北海道
002、青森
というように、コード、内容という2つの項目が存在し、内容だけでなく、コードも同時に表示させる事を検討しています。
インターネット等で検索した際に、そもそも2つの項目を1つのコンボボックスに表示させる事は難しく、仮に表示させたい
項目がテーブルに存在するのであれば、SQLで対応すればとの事が記載があった為に、以下のように対応しました。
《内容》
'SQL文作成
Select_SQL = "select 案件コード,案件名, CONCAT(CONCAT(案件コード,' :'),案件名) as fullname from T_案件"
'SQL文と接続情報を指定し、MySQLコマンドを作成
da = New MySqlDataAdapter(Select_SQL, Connection)
'DataAdapterを指定し、自動的に更新コマンドを生成するコマンドビルダーを作成
cb = New MySqlCommandBuilder(da)
'データセットの中に案件マスタ_Tというテーブルを作成し、そこへ格納する。
da.Fill(ds, "案件マスタ_T")
'コンボボックスに案件マスタ_Tを連結する
CMB_2.DataSource = ds.Tables("案件マスタ_T")
'コンボボックスに結合項目名を表示する
CMB_2.DisplayMember = "fullname"
'案件コードをSelectdValueで取得する
CMB_2.ValueMember = "案件名"
但し、この場合、仮にコードが3桁でなく2桁のものが混在してしまった場合、プルダウンの
表示としてガタガタな形(内容の表示が綺麗に左でそろわない)となってしまいます。
そこで、別の方法で、何かコンボボックスに複数列表示させ、なおかつ、項目の列幅が整列
するような方法はないでしょうか。。。
教えて下さい。