方法: Windows フォームコンボボックスまたは ListBox コントロールをデータにバインドする
ComboBox と ListBox をデータにバインドして、データベース内のデータの参照、新しいデータの入力、既存のデータの編集などのタスクを実行できます。
ComboBox コントロールまたは ListBox コントロールをバインドするには
DataSource
プロパティをデータ ソース オブジェクトに設定します。 使用できるデータ ソースには、データ、データ テーブル、データ ビュー、データセット、データ ビュー マネージャー、配列、または IList インターフェイスを実装する任意のクラスにバインドされた BindingSource が含まれます。 詳細については、「Windows フォームでサポートされるデータ ソース」を参照してください。テーブルにバインドする場合は、
DisplayMember
プロパティをデータ ソース内の列の名前に設定します。-又は-
IListにバインドする場合は、表示メンバーをリスト内の型のパブリック プロパティに設定します。
Private Sub BindComboBox() ComboBox1.DataSource = DataSet1.Tables("Suppliers") ComboBox1.DisplayMember = "ProductName" End Sub
private void BindComboBox() { comboBox1.DataSource = dataSet1.Tables["Suppliers"]; comboBox1.DisplayMember = "ProductName"; }
手記
ArrayListなど、IBindingList インターフェイスを実装していないデータ ソースにバインドされている場合、バインドされたコントロールのデータは、データ ソースの更新時に更新されません。 たとえば、コンボ ボックスが ArrayList にバインドされていて、データが ArrayListに追加されている場合、これらの新しい項目はコンボ ボックスに表示されません。 ただし、コントロールがバインドされている BindingContext クラスのインスタンスで SuspendBinding メソッドと ResumeBinding メソッドを呼び出すことによって、コンボ ボックスを強制的に更新できます。
関連項目
.NET Desktop feedback