PowerTools MultiRow for Windows Forms 8.0J
条件に応じたセルスタイルの切り替え

条件付きセルスタイル(ConditionalCellStyle)を使うと、組み込まれた条件の組み合わせに合致する場合にセルのスタイルを適用できます。
条件の一覧
条件定義(ConditionalCellStyleItem)で指定できる組み込みの条件は次の通りです。

ConditionalCellStyleOperator 値1 値2 説明
IsNull - - セルの値がnull参照(Visual BasicではNothing)またはDBNull.Value
IsNotNull - - セルの値がnull参照(Visual BasicではNothing)またはDBNull.Valueではない
IsEmpty - - セルの値がnull参照(Visual BasicではNothing)、DBNull.Value、String.Emptyのいずれか
IsNotEmpty - - セルの値がnull参照(Visual BasicではNothing)、DBNull.Value、String.Emptyのいずれでもない
IsTrue - - セルの値が True
IsFalse - - セルの値が False
Between 有効 有効 セルの値が値1から値2の範囲に含まれる
NotBetween 有効 有効 セルの値が値1から値2の範囲に含まれない
Equals 有効 - セルの値が値1と等しい
NotEquals 有効 - セルの値が値1と等しくない
GreaterThan 有効 - セルの値が値1より大きい
LessThan 有効 - セルの値が値1より小さい
GreaterThanOrEquals 有効 - セルの値が値1より大きいか等しい
LessThanOrEquals 有効 - セルの値が値1より小さいか等しい
Contains 有効 - セルの値が値1を含む(文字列による比較)
StartsWith 有効 - セルの値が値1で始まる(文字列による比較)
EndsWith 有効 - セルの値が値1で終わる(文字列による比較)
IsMatch 有効 - セルの値が値1の正規表現に一致する
IsNotMatch 有効 - セルの値が値1の正規表現に一致しない

開発者が独自の条件を定義するには、ダイナミック セルスタイルを使用します。詳細は「ユーザー定義の条件付きセルスタイル」を参照してください。
条件付きセルスタイルの作成
次のコードは、セルの値がnull(Visual BasicではNothing)のときに赤色、nullでない場合に青色をセルの背景に適用します。

Imports GrapeCity.Win.MultiRow

Dim ConditionalCellStyle1 As New ConditionalCellStyle()

' セルの値が null のときのスタイル
Dim CellStyle1 As New CellStyle()
CellStyle1.BackColor = Color.FromArgb(255, 192, 192)
Dim item1 As New ConditionalCellStyleItem(CellStyle1, ConditionalCellStyleOperator.IsNull)
ConditionalCellStyle1.Items.Add(item1)

' セルの値が null ではないときのスタイル
Dim CellStyle2 As New CellStyle
CellStyle2.BackColor = Color.FromArgb(192, 192, 255)
Dim item2 As New ConditionalCellStyleItem(CellStyle2, ConditionalCellStyleOperator.IsNotNull)
ConditionalCellStyle1.Items.Add(item2)
using GrapeCity.Win.MultiRow;

ConditionalCellStyle conditionalCellStyle1 = new ConditionalCellStyle();

// セルの値が null のときのスタイル
CellStyle cellStyle1 = new CellStyle();
cellStyle1.BackColor = Color.FromArgb(255, 192, 192);
ConditionalCellStyleItem item1 = new ConditionalCellStyleItem(cellStyle1, ConditionalCellStyleOperator.IsNull);
conditionalCellStyle1.Items.Add(item1);

// セルの値が null ではないときのスタイル
CellStyle cellStyle2 = new CellStyle();
cellStyle2.BackColor = Color.FromArgb(192, 192, 255);
ConditionalCellStyleItem item2 = new ConditionalCellStyleItem(cellStyle2, ConditionalCellStyleOperator.IsNotNull);
conditionalCellStyle1.Items.Add(item2);

次のコードは、作成した条件付きセルスタイルをセルに適用します。

Dim Template1 As Template = Template.Default
Template1.Row.Cells(1).Style = conditionalCellStyle1
GcMultiRow1.Template = Template1
GcMultiRow1.RowCount = 3
Template template1 = Template.Default;
template1.Row.Cells[1].Style = conditionalCellStyle1;
gcMultiRow1.Template = template1;
gcMultiRow1.RowCount = 3;

既定の状態では値が入力されていないため、セルの背景色が赤色に設定されます。セルに何らかの値を入力したとき、セルの背景色が青色に設定されます。
   
参照

 

 


© 2008-2015 GrapeCity inc. All rights reserved.