次の方法で共有


方法 : Windows フォーム DataGrid コントロールの書式を設定する

更新 : 2007 年 11 月

8whd07ax.alert_note(ja-jp,VS.90).gifメモ :

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

DataGrid コントロールの各部分に異なる色を付けると、コントロールの情報が読みやすく、解釈しやすくなります。行および列の色を指定できます。また、行および列の表示/非表示を切り替えることもできます。

DataGrid コントロールの書式設定には、3 つの基本的な段階があります。プロパティを設定して、データを表示する既定のスタイルを設定できます。設定したスタイルに基づいて、実行時に特定のテーブルを表示する方法をカスタマイズできます。最後に、データ グリッドに表示する列、および表示する色やその他の書式を変更できます。

データ グリッドの書式設定の最初の手順として、DataGrid 自体のプロパティを設定できます。ここで選択した色および書式を基本として、表示するデータ テーブルおよび列に応じた変更を加えることができます。

DataGrid コントロールの既定のスタイルを設定するには

  • 必要に応じて次のプロパティを設定します。

    プロパティ

    説明

    AlternatingBackColor

    BackColor プロパティは、グリッドの偶数番号の行の色を定義します。AlternatingBackColor プロパティを異なる色に設定すると、1 行おきにこの新しい色が設定されます (行 1、3、5 など)。

    BackColor

    グリッドの偶数番号の行 (行 0、2、4、6 など) の背景色。

    BackgroundColor

    BackColor プロパティと AlternatingBackColor プロパティはグリッドの行の色を決定しますが、BackgroundColor プロパティは行以外の領域の色を決定します。この領域は、グリッドが一番下までスクロールされたときや、グリッドに数行しか含まれていない場合にだけ表示されます。

    BorderStyle

    グリッドの境界線スタイル。BorderStyle 列挙値の 1 つです。

    CaptionBackColor

    グリッドのウィンドウ キャプションの背景色。ウィンドウ キャプションは、グリッドのすぐ上に表示されます。

    CaptionFont

    グリッドの上部のキャプションのフォント。

    CaptionForeColor

    グリッドのウィンドウ キャプションの背景色。

    Font

    グリッドのテキストの表示に使用されるフォント。

    ForeColor

    データ グリッドの行に表示されるデータのフォントの色。

    GridLineColor

    データ グリッドのグリッド線の色。

    GridLineStyle

    グリッドのセル間の線のスタイル。DataGridLineStyle 列挙値の 1 つです。

    HeaderBackColor

    行ヘッダーと列ヘッダーの背景色。

    HeaderFont

    列ヘッダーに使用されるフォント。

    HeaderForeColor

    グリッドの列ヘッダーの前景色。列ヘッダーのテキストおよびプラス/マイナス グリフも含まれます。プラス/マイナス グリフは、複数の関連するテーブルが表示されているときに行を展開するために使用します。

    LinkColor

    データ グリッド内のすべてのリンク テキストの色。子テーブル、リレーションシップ名などへのリンクが含まれます。

    ParentRowsBackColor

    子テーブルに表示される親テーブルの行の背景色。

    ParentRowsForeColor

    子テーブルに表示される親テーブルの行の前景色。

    ParentRowsLabelStyle

    親テーブルの行にテーブル名と列名が表示されるかどうかを決定します。DataGridParentRowsLabelStyle 列挙型を使用します。

    PreferredColumnWidth

    グリッドの列の既定の幅 (ピクセル単位)。このプロパティは、DataSource プロパティと DataMember プロパティをリセットする前に設定してください。リセットした後で設定しても無効です。これらのプロパティは、別個にリセットするか、SetDataBinding メソッドを使用してリセットします。

    このプロパティは、0 未満の値には設定できません。

    PreferredRowHeight

    グリッドの行の高さ (ピクセル単位)。このプロパティは、DataSource プロパティと DataMember プロパティをリセットする前に設定してください。リセットした後で設定しても無効です。これらのプロパティは、別個にリセットするか、SetDataBinding メソッドを使用してリセットします。

    このプロパティは、0 未満の値には設定できません。

    RowHeaderWidth

    グリッドの行ヘッダーの幅。

    SelectionBackColor

    行またはセルが選択されたときの背景色。

    SelectionForeColor

    行またはセルが選択されたときの前景色。

    8whd07ax.alert_note(ja-jp,VS.90).gifメモ :

    コントロールの色をカスタマイズするときには、不適切な色の選択 (赤と緑など) によってコントロールがアクセスできなくなる可能性があることに注意してください。この問題を避けるには、[システム カラー] パレットに含まれる色を使用します。

    次の手順では、データ テーブルにバインドされた DataGrid コントロールがフォームに含まれると仮定しています。詳細については、「方法 : データ ソースに Windows フォーム DataGrid コントロールをバインドする」を参照してください。

プログラムでデータ テーブルのテーブル スタイルと列スタイルを設定するには

  1. 新しいテーブル スタイルを作成し、そのプロパティを設定します。

  2. 列スタイルを作成し、そのプロパティを設定します。

  3. テーブル スタイルの列スタイル コレクションに列スタイルを追加します。

  4. データ グリッドのテーブル スタイル コレクションにテーブル スタイルを追加します。

  5. 次の例では、新しい DataGridTableStyle のインスタンスを作成し、MappingName プロパティを設定します。

  6. GridColumnStyle の新しいインスタンスを作成し、その MappingName (および他のいくつかのレイアウト プロパティと表示プロパティ) を設定します。

  7. 作成する各列スタイルに対して、手順 2. ~ 6. を繰り返します。

    列に名前を表示するために、DataGridTextBoxColumn を作成する方法を次に示します。また、テーブル スタイルの GridColumnStylesCollection に列スタイルを追加し、データ グリッドの GridTableStylesCollection にテーブル スタイルを追加します。

    Private Sub CreateAuthorFirstNameColumn()
       ' Add a GridTableStyle and set the MappingName 
       ' to the name of the DataTable.
       Dim TSAuthors As New DataGridTableStyle()
       TSAuthors.MappingName = "Authors"
    
       ' Add a GridColumnStyle and set the MappingName 
       ' to the name of a DataColumn in the DataTable. 
       ' Set the HeaderText and Width properties. 
       Dim TCFirstName As New DataGridTextBoxColumn()
       TCFirstName.MappingName = "AV_FName"
       TCFirstName.HeaderText = "First Name"
       TCFirstName.Width = 75
       TSAuthors.GridColumnStyles.Add(TCFirstName)
    
       ' Add the DataGridTableStyle instance to 
       ' the GridTableStylesCollection. 
       myDataGrid.TableStyles.Add(TSAuthors)
    End Sub 
    
    private void addCustomDataTableStyle()
    {
       // Add a GridTableStyle and set the MappingName 
       // to the name of the DataTable.
       DataGridTableStyle TSAuthors = new DataGridTableStyle();
       TSAuthors.MappingName = "Authors";
    
       // Add a GridColumnStyle and set the MappingName 
       // to the name of a DataColumn in the DataTable. 
       // Set the HeaderText and Width properties. 
       DataGridColumnStyle TCFirstName = new DataGridTextBoxColumn();
       TCFirstName.MappingName = " AV_FName";
       TCFirstName.HeaderText = "First Name";
       TCFirstName.Width = 75;
       TSAuthors.GridColumnStyles.Add(TCFirstName);
    
       // Add the DataGridTableStyle instance to 
       // the GridTableStylesCollection. 
       dataGrid1.TableStyles.Add(TSAuthors);
    }
    
    private:
       void addCustomDataTableStyle()
       {
          // Add a GridTableStyle and set the MappingName 
          // to the name of the DataTable.
          DataGridTableStyle^ TSAuthors = new DataGridTableStyle();
          TSAuthors->MappingName = "Authors";
    
          // Add a GridColumnStyle and set the MappingName 
          // to the name of a DataColumn in the DataTable. 
          // Set the HeaderText and Width properties. 
          DataGridColumnStyle^ TCFirstName = gcnew DataGridTextBoxColumn();
          TCFirstName->MappingName = "AV_FName";
          TCFirstName->HeaderText = "First Name";
          TCFirstName->Width = 75;
          TSAuthors->GridColumnStyles->Add(TCFirstName);
    
          // Add the DataGridTableStyle instance to 
          // the GridTableStylesCollection. 
          dataGrid1->TableStyles->Add(TSAuthors);
       }
    

参照

処理手順

方法 : Windows フォーム DataGrid コントロールの列を削除するまたは非表示にする

参照

GridTableStylesCollection

GridColumnStylesCollection

DataGrid

その他の技術情報

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