次の方法で共有


方法 : データ ソースに Windows フォーム DataGrid コントロールをバインドする

更新 : 2007 年 11 月

4484db7b.alert_note(ja-jp,VS.90).gifメモ :

DataGridView コントロールは、DataGrid コントロールに代わると共に追加の機能を提供します。ただし、DataGrid コントロールは、下位互換性を保つ目的および将来使用する目的で保持されます。詳細については、「Windows フォームの DataGridView コントロールと DataGrid コントロールの違いについて」を参照してください。

Windows フォームの DataGrid コントロールは、データ ソースの情報を表示するようにデザインされています。実行時には SetDataBinding メソッドを呼び出してコントロールをバインドします。各種データ ソースのデータを表示できますが、最も一般的なソースはデータセットとデータ ビューです。

プログラムによって DataGrid コントロールをデータ連結するには

  1. データセットにデータを読み込むコードを記述します。

    データ ソースが、データセット テーブルに基づくデータセットまたはデー タビューの場合は、そのデータセットにデータを読み込むためのコードをフォームに追加します。

    実際に使用するコードは、データセットがデータをどこで取得するかに依存します。データセットにデータベースのデータを直接読み込む場合は、通常はデータ アダプタの Fill メソッドを呼び出します。次の例では、 DsCategories1 というデータセットにデータを読み込んでいます。

    sqlDataAdapter1.Fill(DsCategories1)
    
    sqlDataAdapter1.Fill(DsCategories1);
    
    sqlDataAdapter1->Fill(dsCategories1);
    

    XML Web サービスのデータをデータセットに読み込む場合は、通常、サービスのインスタンスを作成するコードを記述し、データセットを返すメソッドのいずれかを呼び出します。その後、XML Web サービスからのデータセットをローカルのデータセットにマージします。次の例は、 CategoriesService という XML Web サービスのインスタンスを作成し、その GetCategories メソッドを呼び出し、結果のデータセットを DsCategories1 というローカル データセットにマージする方法を示します。

    Dim ws As New MyProject.localhost.CategoriesService()
    ws.Credentials = System.Net.CredentialCache.DefaultCredentials
    DsCategories1.Merge(ws.GetCategories())
    
    MyProject.localhost.CategoriesService ws = new MyProject.localhost.CategoriesService();
    ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
    DsCategories1.Merge(ws.GetCategories());
    
    MyProject::localhost::CategoriesService^ ws = 
       new MyProject::localhost::CategoriesService();
    ws->Credentials = System::Net::CredentialCache::DefaultCredentials;
    dsCategories1->Merge(ws->GetCategories());
    
  2. データ ソースとデータ メンバを引数として、DataGrid コントロールの SetDataBinding メソッドを呼び出します。データ メンバを明示的に渡す必要がない場合は、空の文字列を渡します。

    4484db7b.alert_note(ja-jp,VS.90).gifメモ :

    グリッドのバインドを初めて実行する場合は、このコントロールの DataSource プロパティおよび DataMember プロパティを設定できます。ただし、これらのプロパティは、一度設定するとリセットできません。したがって、常に SetDataBinding メソッドを使用することをお勧めします。

    次の例は、プログラムで DsCustomers1 というデータセットの Customers テーブルにバインドする方法を示しています。

    DataGrid1.SetDataBinding(DsCustomers1, "Customers")
    
    DataGrid1.SetDataBinding(DsCustomers1, "Customers");
    
    dataGrid1->SetDataBinding(dsCustomers1, "Customers");
    

    データセットに Customers テーブル以外のテーブルが存在しない場合は、代わりに次の方法でグリッドを連結できます。

    DataGrid1.SetDataBinding(DsCustomers1, "")
    
    DataGrid1.SetDataBinding(DsCustomers1, "");
    
    dataGrid1->SetDataBinding(dsCustomers1, "");
    
  3. (必要に応じて) 適切なテーブル スタイルと列スタイルをグリッドに追加します。テーブル スタイルがなくてもテーブルを表示できますが、その場合は最低限の書式だけが適用され、すべての列が表示されます。

参照

処理手順

方法 : Windows フォーム DataGrid コントロールにテーブルと列を追加する

参照

DataGrid コントロールの概要 (Windows フォーム)

その他の技術情報

DataGrid コントロール (Windows フォーム)

Windows フォームでのデータ バインディング