PowerTools MultiRow for Windows Forms 8.0J > MultiRowの使い方 > ヘッダ > ヘッダのハイライトスタイル |
MultiRowでは、セルを選択したときにそのセルが属する行と列のヘッダをハイライト表示できます。
|
ヘッダセルのハイライトを有効にするには、GcMultiRow.HeaderCellHighlightModeプロパティを使用します。ハイライト表示の対象となるヘッダセルはHeaderCellHighlightModeプロパティの設定によって次のようになります。
ContainedCells
選択したセルの範囲内に全体が含まれているヘッダセルがハイライト表示します。
IntersectedCells
選択したセルの範囲内に全体または一部が含まれているヘッダセルがハイライト表示します。
None
すべてのヘッダセルがハイライト表示しません。
GcMultiRow1.HeaderCellHighlightMode = GrapeCity.Win.MultiRow.HighlightMode.ContainedCells
gcMultiRow1.HeaderCellHighlightMode = GrapeCity.Win.MultiRow.HighlightMode.ContainedCells;
ヘッダのハイライト表示では、セルの背景色と文字色を変更できます。この2つの色は、CellStyle.SelectionBackColorプロパティとCellStyle.SelectionForeColorプロパティを使用して設定します。
|
次のコードでは、GcMultiRowコントロールに設定されているテンプレートのColumHeaderCellのFlayStyleプロパティにFlatを設定して、ヘッダのハイライト表示を有効にします。
' GcMultiRowコントロールに設定されているテンプレートを取得します。 Dim Template1 As Template = GcMultiRow1.Template For _count As Integer = 0 To Template1.ColumnHeaders(0).Cells.Count - 1 If TypeOf (Template1.ColumnHeaders(0).Cells(_count)) Is ColumnHeaderCell Then ' テンプレートの列ヘッダセクションに配置されているColumnHeaderCellのFlatStyleプロパティにFlatを設定します。 DirectCast(Template1.ColumnHeaders(0).Cells(_count), ColumnHeaderCell).FlatStyle = FlatStyle.Flat End If Next ' GcMultiRowコントロールにテンプレートを再設定します。 GcMultiRow1.Template = Template1 ' ヘッダのハイライト表示を有効にします。 GcMultiRow1.HeaderCellHighlightMode = HighlightMode.ContainedCells ' ヘッダのハイライト表示の背景色と前景色を設定ます。 GcMultiRow1.ColumnHeadersDefaultHeaderCellStyle.SelectionBackColor = Color.LightGray GcMultiRow1.ColumnHeadersDefaultHeaderCellStyle.SelectionForeColor = Color.Green
// GcMultiRowコントロールに設定されているテンプレートを取得します。 Template template1 = gcMultiRow1.Template; for(int _count = 0; _count<template1.ColumnHeaders[0].Cells.Count; _count++) { if(template1.ColumnHeaders[0].Cells[_count] is ColumnHeaderCell) { // テンプレートの列ヘッダセクションに配置されているColumnHeaderCellのFlatStyleプロパティにFlatを設定します。 (template1.ColumnHeaders[0].Cells[_count] as ColumnHeaderCell).FlatStyle = FlatStyle.Flat; } } // GcMultiRowコントロールにテンプレートを再設定します。 gcMultiRow1.Template = template1; // ヘッダのハイライト表示を有効にします。 gcMultiRow1.HeaderCellHighlightMode = HighlightMode.ContainedCells; // ヘッダのハイライト表示の背景色と前景色を設定ます。 gcMultiRow1.ColumnHeadersDefaultHeaderCellStyle.SelectionBackColor = Color.LightGray; gcMultiRow1.ColumnHeadersDefaultHeaderCellStyle.SelectionForeColor = Color.Green;
ColumnHeaderCellクラスまたはRowHeaderCellクラスのHighlightRelatedCellNamesプロパティを使用すると、セルを選択したときにハイライト表示する対象のヘッダセルを任意に指定できます。
HighlightRelatedCellNamesプロパティには、ヘッダセルをハイライト表示するために選択が必要となるセルの名前を追加します。
次のコードでは、TextBoxCell1とTextBoxCell3が選択されたときにColumnHeaderCell1がハイライト表示します。
Imports GrapeCity.Win.MultiRow ' ColumnHeaderCell1のハイライト表示に必要なセルを設定します。 Dim ColumnHeaderCell1 As ColumnHeaderCell = DirectCast(GcMultiRow1.ColumnHeaders(0).Cells("ColumnHeaderCell1"), ColumnHeaderCell) ColumnHeaderCell1.HighlightRelatedCellNames.Add(New List(Of String)(New String() {"TextBoxCell1", "TextBoxCell3"}))
using GrapeCity.Win.MultiRow; // columnHeaderCell1のハイライト表示に必要なセルを設定します。 ColumnHeaderCell columnHeaderCell1 = gcMultiRow1.ColumnHeaders[0].Cells["columnHeaderCell1"] as ColumnHeaderCell; columnHeaderCell1.HighlightRelatedCellNames.Add(new List<string>(new string[] { "textBoxCell1", "textBoxCell3" }));