次の方法で共有


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

注意

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

Windows フォームの DataGrid コントロールは、データ ソースからの情報を表示するために設計されています。 コントロールをバインドするには、デザイン時に DataSource プロパティおよび DataMember プロパティを設定するか、実行時に SetDataBinding メソッドを呼び出します。 さまざまなデータ ソースのデータを表示できますが、最も一般的なソースはデータ セットとデータ ビューです。

データ ソースがデザイン時に使用可能な場合 (たとえば、フォームにデータ セットまたはデータ ビューのインスタンスが含まれている場合)、デザイン時にグリッドをデータ ソースにバインドできます。 このときはデータがグリッド内でどのように表示されるかをプレビューできます。

また、実行時にプログラムによってグリッドをバインドすることもできます。 これは、実行時に取得した情報に基づいてデータ ソースを設定する場合に便利です。 たとえば、アプリケーションによって、表示するテーブルの名前をユーザーが指定できるようにします。 また、これはデザイン時にデータ ソースが存在しない場合にも必要です。 これには、配列、コレクション、型指定されていないデータ セット、データ リーダーなどのデータ ソースが含まれます。

次の手順では、フォームに DataGrid コントロールが含まれている Windows アプリケーション プロジェクトが必要です。 このようなプロジェクトを設定する方法については、Windows フォーム アプリケーション プロジェクトの作成方法に関する記事と「方法: Windows フォームにコントロールを追加する」を参照してください。 Visual Studio 2005 では、既定で [ツールボックス]DataGrid コントロールは含まれていません。 これを追加する方法については、「方法: ツールボックスに項目を追加する」を参照してください。 また、Visual Studio 2005 では、デザイン時のデータ バインディングのために [データ ソース] ウィンドウを使用できます。 詳細については、「Visual Studio でのデータへのコントロールのバインド」を参照してください。

デザイナーで DataGrid コントロールを 1 つのテーブルにデータ バインディングするには

  1. コントロールの DataSource プロパティに、バインド先のデータ項目を含むオブジェクトを設定します。

  2. データ ソースがデータ セットである場合は、DataMember プロパティにバインド先のテーブルの名前を設定します。

  3. データ ソースがデータ セットであるか、またはデータ セット テーブルに基づくデータ ビューである場合は、データ セットにデータを設定するためのコードをフォームに追加します。

    実際に使用するコードは、データ セットがどこからデータを取得するかによって異なります。 データ セットがデータベースから直接作成される場合は、通常、次の例のように、データ アダプターの Fill メソッドを呼び出します。次の例では、DsCategories1 というデータ セットを設定しています。

    sqlDataAdapter1.Fill(DsCategories1)
    
    sqlDataAdapter1.Fill(DsCategories1);
    
    sqlDataAdapter1->Fill(dsCategories1);
    
  4. (オプション) 適切なテーブル スタイルと列スタイルをグリッドに追加します。

    テーブル スタイルが存在しない場合、テーブルは表示はされますが、書式設定は最小限のものとなり、すべての列が表示されます。

デザイナーで DataGrid コントロールをデータ セット内の複数のテーブルにデータ バインディングするには

  1. コントロールの DataSource プロパティに、バインド先のデータ項目を含むオブジェクトを設定します。

  2. データ セットに関連するテーブルが含まれている場合 (つまり、Relation オブジェクトが含まれている場合)、DataMember プロパティに親テーブルの名前を設定します。

  3. データ セットにデータを設定するためのコードを記述します。

関連項目