GcMultiRowコントロールのヘッダは既定でビジュアル スタイルが有効です。ビジュアル スタイルの適用結果は、アプリケーションが実行されるOSの設定に依存します。
HeaderCell.FlatStyleプロパティを設定すると、フラットスタイルを使用できます。マウスオーバー時の外観は
HeaderCell.FlatAppearanceプロパティで設定します。
HeaderCell.Office2007Styleプロパティを設定すると、Office 2007ライクなスタイルを使用できます。
Office2007Style |
外観 |
罫線の色 |
通常 |
マウスホバー |
Silver |
 |
 |
Color.FromArgb(144, 145, 146) |
Blue |
 |
 |
Color.FromArgb(158, 182, 206) |
Black |
 |
 |
Color.FromArgb(182, 182, 182) |
Imports GrapeCity.Win.MultiRow
GcMultiRow1.Template = Template.Default
Dim Template1 As Template = GcMultiRow1.Template
For Each cell As Cell In Template1.ColumnHeaders(0).Cells
If TypeOf cell Is HeaderCell Then
Dim HeaderCell1 As HeaderCell = TryCast(cell, HeaderCell)
HeaderCell1.Office2007Style = Office2007Style.Blue
HeaderCell1.Style.Border = New Border(LineStyle.Thin, Color.FromArgb(158, 182, 206))
End If
Next
GcMultiRow1.Template = Template1
using GrapeCity.Win.MultiRow;
gcMultiRow1.Template = Template.Default;
Template template1 = gcMultiRow1.Template;
foreach (Cell cell in template1.ColumnHeaders[0].Cells)
{
if (cell is HeaderCell)
{
HeaderCell headerCell1 = cell as HeaderCell;
headerCell1.Office2007Style = Office2007Style.Blue;
headerCell1.Style.Border = new Border(LineStyle.Thin, Color.FromArgb(158, 182, 206));
}
}
gcMultiRow1.Template = template1;
HeaderCell.GutterStylesプロパティを設定すると、HeaderCellに境界線を示す溝を表示できます。境界線を示す溝は、上下左右のいずれか、またはすべてに表示できます。
ヘッダの境界線はビジュアルスタイルが有効の場合のみ表示されます。それ以外の場合では、セルの
罫線を使用して境界線を表示します。
HeaderCell.HoverDirectionプロパティを設定すると、マウスポインタがHeaderCellの上に重なったときの強調エフェクトの表示箇所を指定できます。強調エフェクトは上下左右のいずれか、または非表示を選択できます。
ヘッダ型セルは、背景色を透明に設定することでセクションの背景に設定している背景色をヘッダ上に表示できます。セクションの背景色にグラデーションなどを設定している場合はヘッダ型セルの背景色としてグラデーションがそのまま表示できます。
ヘッダ型セルの背景色を透過するには、次のプロパティ設定が必要です。
次のコードでは、列ヘッダ型セルの背景色を透明にして、列ヘッダセクションの背景色に設定したグラデーションを列ヘッダ型セル上に表示します。

Imports GrapeCity.Win.MultiRow
' ヘッダセクションに設定するグラデーション
Dim GradientEffect1 As New GradientEffect()
GradientEffect1.Colors = New Color() {Color.LightBlue, Color.LightYellow}
GradientEffect1.Style = GradientStyle.Horizontal
GradientEffect1.Direction = GradientDirection.Side
' テンプレートの設定
Dim Template1 As Template = Template.CreateGridTemplate(3)
Template1.ColumnHeaders(0).BackgroundGradientEffect = GradientEffect1
' 列ヘッダ型セルの背景色を透明に設定
Dim ColumnHeaderCell1 As New ColumnHeaderCell()
ColumnHeaderCell1.FlatStyle = FlatStyle.Flat
ColumnHeaderCell1.Style.BackColor = Color.Transparent
ColumnHeaderCell1.UseRealTransparent = True
ColumnHeaderCell1.Location = Template1.ColumnHeaders(0).Cells(0).Location
ColumnHeaderCell1.Size = Template1.ColumnHeaders(0).Cells(0).Size
Template1.ColumnHeaders(0).Cells.RemoveAt(0)
Template1.ColumnHeaders(0).Cells.Insert(0, ColumnHeaderCell1)
GcMultiRow1.Template = Template1
using GrapeCity.Win.MultiRow;
// ヘッダセクションに設定するグラデーション
GradientEffect gradientEffect1 = new GradientEffect();
gradientEffect1.Colors = new Color[] { Color.LightBlue, Color.LightYellow };
gradientEffect1.Style = GradientStyle.Horizontal;
gradientEffect1.Direction = GradientDirection.Side;
// テンプレートの設定
Template template = Template.CreateGridTemplate(3);
template.ColumnHeaders[0].BackgroundGradientEffect = gradientEffect1;
// 列ヘッダ型セルの背景色を透明に設定
ColumnHeaderCell columnHeaderCell1 = new ColumnHeaderCell();
columnHeaderCell1.FlatStyle = FlatStyle.Flat;
columnHeaderCell1.Style.BackColor = Color.Transparent;
columnHeaderCell1.UseRealTransparent = true;
columnHeaderCell1.Location = template.ColumnHeaders[0].Cells[0].Location;
columnHeaderCell1.Size = template.ColumnHeaders[0].Cells[0].Size;
template.ColumnHeaders[0].Cells.RemoveAt(0);
template.ColumnHeaders[0].Cells.Insert(0, columnHeaderCell1);
gcMultiRow1.Template = template;