次の方法で共有


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

注意

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 メソッドを呼び出します。 データ メンバーを明示的に渡す必要がない場合は、空の文字列を渡します。

    注意

    グリッドのバインドを初めて実行する場合は、このコントロールの 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 フォームでのデータ バインディング