FlexGrid for WinForms
ヘッダー
> ヘッダー

行ヘッダーは、グリッドの左側にある 1 つまたは複数の固定行です。ここには、キャプション文字列が含まれている場合も、そうでない場合もあります。

FlexGrid では、デフォルトで、インデックスがゼロの左端の列が行ヘッダーに割り当てられます。ただし、他の列も固定されるように指定して、ヘッダーを広げることができます。 複数の列を固定に設定するには、ColumnCollection クラスの Fixed プロパティに 1 より大きい整数を設定する必要があります。

行ヘッダー

ヘッダーテキストの設定

行ヘッダーテキストを設定するには、Row クラスの Caption プロパティを設定します。このプロパティは、インデックスがゼロのデフォルトのヘッダー列のセルに値を設定します。他の固定列のセルに値を設定するには、FlexGrid の通常の値の割り当て方法を使用する必要があります。セル値の設定方法の詳細については、「セルに値を設定」を参照してください。

WinForms FlexGrid で以下のコードを使用して、ヘッダー列を指定し、ヘッダーテキストを設定します。

// 最初の行のヘッダーを設定します
c1FlexGrid1.Rows[1].Caption = "Row 1";

// すべての行にヘッダーを設定します
for (int i = c1FlexGrid1.Rows.Fixed; i < c1FlexGrid1.Rows.Count; i++)
  { 
     c1FlexGrid1[i, 0] = "Row" + i.ToString();
  }  

// 列幅を設定します
c1FlexGrid1.Cols[0].Width = 85; 
' 最初の行のヘッダーを設定します
c1FlexGrid1.Rows(1).Caption = "Row 1"

' すべての行にヘッダーを設定します
For i As Integer = c1FlexGrid1.Rows.Fixed To c1FlexGrid1.Rows.Count - 1
    c1FlexGrid1(i, 0) = "Row" & i.ToString()
Next

' 列幅を設定します
c1FlexGrid1.Cols(0).Width = 85      

行ヘッダーの結合

FlexGrid には、特定の列(この場合はヘッダー列)のセルが結合可能かを指定する Column クラスの AllowMerging プロパティがあります。ヘッダー列の結合を許可したら、C1FlexGrid クラスの AllowMerging プロパティまたは AllowMergingFixed プロパティに FixedOnly を設定します。FlexGrid コントロールにはこの 2 つのプロパティがあるため、結合に関連する複数のロジックをより柔軟に実装できます。セルの結合の詳細については、「結合」を参照してください。

以下のコードを使用して、WinForms FlexGrid の行ヘッダーを結合します。

// ヘッダー列での結合を許可します
c1FlexGrid1.Cols[0].AllowMerging = true;

// グリッドのAllowMergingまたはAllowMergingFixedプロパティを設定して、固定の行/列のみをマージします
// c1FlexGrid1.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.FixedOnly;
c1FlexGrid1.AllowMergingFixed = C1.Win.C1FlexGrid.AllowMergingEnum.FixedOnly;  
' ヘッダー列での結合を許可します
c1FlexGrid1.Cols(0).AllowMerging = True

' グリッドのAllowMergingまたはAllowMergingFixedプロパティを設定して、固定の行/列のみをマージします
' c1FlexGrid1.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.FixedOnly
c1FlexGrid1.AllowMergingFixed = C1.Win.C1FlexGrid.AllowMergingEnum.FixedOnly        

行ヘッダーテキストの折り返し

行ヘッダーのテキストを折り返すには、CellStyleCollection クラスのCellStyle 項目 "Fixed" にアクセスし、その WordWrap プロパティに true を設定します。折り返されたテキストが適切に表示されるようにするには、FlexGrid の行の高さを調整する必要があります。または、AutoSizeRow() メソッドを呼び出して、テキストの長さに応じて行が自動的にサイズ変更されるようにします。 

以下のコードを使用して、WinForms FlexGrid の行ヘッダーテキストを折り返します。

// 行のキャプションを設定します
c1FlexGrid1.Rows[3].Caption = "Large text to display text wrapping and merging";
c1FlexGrid1.Rows[4].Caption = "Large text to display text wrapping and merging";
 
// 行の高さを設定します
c1FlexGrid1.Rows[3].Height = 35;
c1FlexGrid1.Rows[4].Height = 35;

// 固定の行と列の折り返しを設定します
c1FlexGrid1.Styles["Fixed"].WordWrap = true;                     
' 行のキャプションを設定します
c1FlexGrid1.Rows(3).Caption = "Large text to display text wrapping and merging"
c1FlexGrid1.Rows(4).Caption = "Large text to display text wrapping and merging"

' 行の高さを設定します
c1FlexGrid1.Rows(3).Height = 35
c1FlexGrid1.Rows(4).Height = 35

' 固定の行と列の折り返しを設定します
c1FlexGrid1.Styles("Fixed").WordWrap = True      

行ヘッダーのスタイル設定

行ヘッダーのスタイルを設定するには、CellStyleCollection クラスの CellStyle 項目 "Fixed" にアクセスし、FontForeColorTextEffect などのさまざまなスタイル設定に関連するプロパティを設定します。

以下のコードを使用して、WinForms FlexGrid の行ヘッダーをカスタマイズします。

// ヘッダーテキストのフォントを設定します
c1FlexGrid1.Styles["Fixed"].Font = new Font("Tahoma", 10, FontStyle.Bold);
 
// ヘッダーテキストの前色を設定します
c1FlexGrid1.Styles["Fixed"].ForeColor = Color.PaleVioletRed;
  
// ヘッダーテキストの背景色を設定します
c1FlexGrid1.Styles["Fixed"].BackColor = Color.LemonChiffon;
  
// ヘッダーテキストにテキスト効果を適用します
c1FlexGrid1.Styles["Fixed"].TextEffect = C1.Win.C1FlexGrid.TextEffectEnum.Inset;
 ' ヘッダーテキストのフォントを設定します
 c1FlexGrid1.Styles("Fixed").Font = New Font("Tahoma", 10, FontStyle.Bold)

 ' ヘッダーテキストの前色を設定します
 c1FlexGrid1.Styles("Fixed").ForeColor = Color.PaleVioletRed

 ' ヘッダーテキストの背景色を設定します
 c1FlexGrid1.Styles("Fixed").BackColor = Color.LemonChiffon

 ' ヘッダーテキストにテキスト効果を適用します
 c1FlexGrid1.Styles("Fixed").TextEffect = C1.Win.C1FlexGrid.TextEffectEnum.Inset      
関連トピック