方法: Windows フォームの ComboBox または ListBox コントロールをデータにバインドする

ComboBoxListBox をデータにバインドして、データベース内のデータを参照する、新しいデータを入力する、既存のデータを編集するなどのタスクを実行できます。

ComboBox コントロールまたは ListBox コントロールをバインドするには

  1. DataSource プロパティをデータ ソース オブジェクトに設定します。 有効なデータ ソースには、データにバインドされている BindingSource、データ テーブル、データ ビュー、データセット、データ ビュー マネージャー、配列、IList インターフェイスを実装する任意のクラスなどがあります。 詳細については、「Windows フォームがサポートするデータ ソース」を参照してください。

  2. テーブルにバインドする場合は、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 メソッドを呼び出すことにより、コンボ ボックスを強制的に更新できます。

関連項目