ReoGrid
ReoGrid Version 4をリリースしました。多数の新機能に対応し、機能性・パフォーマンスの両面で大幅に強化されています。新機能の詳細については、こちらをご覧ください。
複数行ヘッダー

複数行の列ヘッダーを作成できます。行数は最大で10行まで設定可能です。ヘッダーのセルは横方向・縦方向のいずれにも結合できます。また、ヘッダーテキストやスタイルも自由に設定できます。

複数行ヘッダーに対応した列ヘッダー

複数行ヘッダーの作成

複数行ヘッダーは、ワークシートの ExtensionColumnHeader プロパティを使用して作成します。

var extensionHeader = worksheet.ExtensionColumnHeader;

行数は RowCount プロパティ、または SetRowCount メソッドで設定できます。

extensionHeader.SetRowCount(3);

結果は以下の図の通りです。 複数行ヘッダーに対応した列ヘッダー

セルへのアクセス

複数行ヘッダーのセルは、ワークシートのセルと同様に、一番左上が原点座標 (0,0) です。 複数行ヘッダーのセル座標

セルの結合

複数行ヘッダーのセルを結合するには、MergeCells メソッドを使用します。結合したい開始行・開始列と、結合する行数・列数を指定します。

extensionHeader.MergeCells(開始行, 開始列, 結合する行数, 結合する列数)

以下のように記述します。

// 先頭のセル(0, 0) をマージする
extensionHeader.MergeCells(0, 0, 3, 1);

// 行0、2列目(0, 1)のセルからマージする
extensionHeader.MergeCells(0, 1, 1, 4);

複数行ヘッダー

セルのテキスト設定

extensionHeader[0, 0].Text = "No.";
extensionHeader[0, 1].Text = "大分類";

複数行ヘッダー

MergeCellsText の設定を繰り返して複数行ヘッダーを作成します。

extensionHeader.MergeCells(0, 0, 3, 1);

extensionHeader.MergeCells(0, 1, 1, 4);
extensionHeader.MergeCells(1, 1, 1, 2);
extensionHeader.MergeCells(1, 3, 1, 2);

extensionHeader.MergeCells(0, 5, 3, 1);

extensionHeader.MergeCells(0, 6, 1, 4);
extensionHeader.MergeCells(1, 6, 2, 1);
extensionHeader.MergeCells(1, 8, 2, 2);

extensionHeader[0, 0].Text = "No.";
extensionHeader[0, 1].Text = "大分類";
extensionHeader[1, 1].Text = "中分類";
extensionHeader[1, 3].Text = "中分類";

extensionHeader[0, 6].Text = "大分類";
extensionHeader[2, 1].Text = "小分類";
extensionHeader[2, 2].Text = "小分類";
extensionHeader[2, 3].Text = "小分類";
extensionHeader[2, 4].Text = "小分類";

extensionHeader[0, 5].Text = "対象";

複数行ヘッダー

結合セルの解除

UnmergeCells メソッドを使うと、結合したセルを解除できます。

extensionHeader.UnmergeCells(0, 7);

列とセルの選択について

複数行の列ヘッダーは、横方向にセルが結合されていても、常に個別の列を選択できます。選択された列はハイライト表示されます。 複数行ヘッダー

結合セルの一部の列が選択された場合、そのセルがハイライト表示されます。 複数行ヘッダー

列の表示/非表示について

列を非表示に設定した場合、非表示の列の代わりに太線が表示されます。 複数行ヘッダー

行列の固定との併用

複数行の列ヘッダーは、通常の列ヘッダーと同様に、行や列の固定と併用できます。ワークシートをスクロールすると、一部の列が隠れます。 複数行ヘッダー

アウトラインとの併用

通常の列ヘッダーと同様に、アウトライン機能とも併用できます。 複数行ヘッダー


ページの内容は役に立ちましたか?