[C#][VB.NET]コンボボックスの一覧にデータテーブルの内容を表示し、選択された値を取得する

ComboBoxにDataTableの内容を表示し、コードで項目選択し、選択された項目のDataRow値を取得する方法の解説とサンプルプログラムです。

データテーブルの内容をコンボボックスに表示

ComboBoxのDataSourceプロパティにDataTableをセットし、DisplayMemberプロパティに画面に表示する列名、ValueMemberプロパティに内部データ用の列名を指定します。

選択された項目を取得

選択中項目に対応するデータを取得するにはSelectedItemプロパティまたはSelectedValueプロパティを使用します。 SelectedItemプロパティでDataRow、SelectedValueプロパティで内部データ値(ValueMemberプロパティで指定した列の値)が取得できます。

項目の選択と解除

SelectedValueプロパティに選択したい項目のインデックス番号を指定します。先頭項目はゼロで、-1を指定すると選択が解除されます。

データ列の値を指定して選択

データ列の値を指定して選択を行うメソッドは用意されていないため、自力でインデックス番号(SelectedValueプロパティに渡す番号)を調べる必要があります。 次のサンプルはデータ値(ValueMemberプロパティで指定した列の値)を渡すと対応するコンボボックス項目を選択するクラスと、その使用方法です。

サンプルコードのダウンロード

サンプルコードの実行には Microsoft Visual Studio 2008 以上のバージョンが必要です。 2008以外のバージョンではプロジェクトを開いた際にファイルの変換が必要な場合があります。その場合は変換後に実行してください。

検証環境

関連ページ