方法 : Windows フォームの ComboBox または ListBox コントロールをデータにバインドする
更新 : 2007 年 11 月
ComboBox および ListBox をデータにバインドすると、データベースのデータの参照、新しいデータの入力、既存のデータの編集などのタスクを実行できます。
ComboBox コントロールまたは ListBox コントロールをデータ連結するには
DataSource プロパティをデータ ソース オブジェクトに設定します。使用できるデータ ソースには、データにバインドされた BindingSource、データ テーブル、データ ビュー、データセット、データ ビュー マネージャ、配列、または IList インターフェイスを実装するクラスがあります。詳細については、「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"; }
private void BindComboBox() { comboBox1.set_DataSource(dataSet1.get_Tables().get_Item( "Suppliers")); comboBox1.set_DisplayMember("ProductName"); }
メモ : IBindingList インターフェイスを実装しないデータ ソース (ArrayList オブジェクトなど) にバインドされている場合、データ ソースが更新されても、バインドされているコントロールのデータは更新されません。たとえば、コンボ ボックスが ArrayList オブジェクトにバインドされている場合は、ArrayList にデータが追加されても、コンボ ボックスに新しい項目は表示されません。ただし、コントロールがバインドされている BindingContext クラスのインスタンスの SuspendBinding メソッドおよび ResumeBinding メソッドを呼び出すことによって、コンボ ボックスを強制的に更新できます。