FlexGrid for WPF
複数セルの行および列ヘッダ
基本操作 > セル > 複数セルの行および列ヘッダ

ほとんどのグリッドは、行および列ヘッダのセルをサポートします。これにより、複数の列にまたがって 1 つのヘッダを表示したり、選択範囲を含む行のステータスを示すことができます。

C1FlexGrid は、この概念をさらに広げて、複数セルのヘッダをサポートします。たとえば、列ヘッダを 2 行にして、1 行に年度を表示し、もう 1 行に四半期を表示できます。この場合は、次のようにコードを設定します。

C#
コードのコピー
// 非連結の列ヘッダを設定します。
    var ch = fg.ColumnHeaders;
       ch.Rows.Add(new Row());
 for (int c = 0; c < ch.Columns.Count; c++)
  {
     // 年 ch[0, c] = 2009 + c / 4;
     // 四半期
      ch[1, c] = string.Format("Q {0}", c % 4 + 1);
  }

このコードは、次のようなグリッドを生成します

列ヘッダを表示するために 2 つの行が使用されていることに注目してください。従来のグリッドでも、改行を含む列ヘッダを使って同様の効果を得られますが、上端の固定行に結合するようにセルを追加すると、同じ年度を参照する列が自動的に結合されるため、その違いは明らかです。このためには、コードを 2 行追加するだけです。

C#
コードのコピー
// 非連結の列ヘッダを設定します。
  var ch = fg.ColumnHeaders;

// 年間と四半期を表す別々のヘッダ行
  ch.Rows.Add(new Row()); 
  for (int c = 0; c < ch.Columns.Count; c++)

  {

    // 年
    ch[0, c] = 2009 + c / 4; 

    // 四半期
    ch[1, c] = string.Format("Q {0}", c % 4 + 1); 
  }
// 最初の固定行のマージを許可します。
  fg.AllowMerging = AllowMerging.All;
  ch.Rows[0].AllowMerging = true;

この結果は、次の図のようになります。

上端の固定行にある同じ年度を参照するセルが結合されることで、より見やすくなっていることを確認してください。この図に示したように、行ヘッダを結合する場合にも同じメカニズムを適用できます。

関連トピック