SPREAD for WPF 4.0J - GcSpreadGrid
条件付き書式
MESCIUS SPREAD for WPF 4.0J > 開発者ガイド > 外観 > 条件付き書式

セルに条件付き書式を設定できます。条件、および条件が有効な場合に適用する書式を設定します。

条件付き書式

条件付き書式はXAMLコードで設定することはできません。

条件付き書式を設定するには、コントロールの ConditionalFormat プロパティで条件付き書式を表す ConditionalFormat を参照し、条件に対応するメソッドを使用します。設定可能な条件の種類、および対応するメソッドは次のとおりです。

条件 説明 メソッド
値の指定 値、および比較演算子(Between、GreaterThan、LessThan など)による指定 AddCellValueRule メソッド
平均との比較 平均より上または下かの指定 AddAverageRule メソッド
日付 日付を対象とした条件(過去7日間など)の指定 AddDateOccurringRule メソッド
数式 数式による指定 AddFormulaRule メソッド
カラー スケール セルの値に基づく2色または3色スケールでのセルの背景色の指定 AddTwoScaleRule メソッド
AddThreeScaleRule メソッド
文字列比較 文字列を対象とした条件(Contains、BeginsWith など)の指定 AddSpecificTextRule メソッド
上位/下位 上位または下位何位までかの指定 AddTop10Rule メソッド
重複する値 値が一意または重複するかの指定 AddUniqueRule メソッド
AddDuplicateRule メソッド

条件付き書式の設定について、次のサンプルコードを参照してください。

サンプルコード

次のサンプルコードは「Quantity」列に2色スケールを設定します。

C#
コードのコピー
CellRange range = gcSpreadGrid1.Columns["Quantity"].ToCellRange();
gcSpreadGrid1.ConditionalFormat.AddTwoScaleRule(
    ScaleValueType.LowestValue, null, Colors.Orange,
    ScaleValueType.HighestValue, null, Colors.Red,
    range);
Visual Basic
コードのコピー
Dim range As CellRange = GcSpreadGrid1.Columns("Quantity").ToCellRange()
GcSpreadGrid1.ConditionalFormat.AddTwoScaleRule( _
    ScaleValueType.LowestValue, Nothing, Colors.Orange, _
    ScaleValueType.HighestValue, Nothing, Colors.Red, _
    range)

重複する範囲への複数の条件の設定

重複する範囲に複数の条件を設定できます。セルが複数の条件に該当する場合、セルの書式は該当する条件の書式を複合したものとなります。また、書式どうしで重複する設定項目がある場合、最後に設定した条件の書式が優先されます。

サンプルコード

次のサンプルコードは「Quantity」列に2色スケール、および平均より上の値に対する書式を設定します。平均より上の値には2つの書式を複合して、2色スケールの背景色と青色の文字が設定されます。

C#
コードのコピー
// 2色スケール
CellRange range = gcSpreadGrid1.Columns["Quantity"].ToCellRange();
gcSpreadGrid1.ConditionalFormat.AddTwoScaleRule(
    ScaleValueType.LowestValue, null, Colors.Orange,
    ScaleValueType.HighestValue, null, Colors.Red,
    range);
// 平均より上
StyleInfo style = new StyleInfo();
style.Foreground = new SolidColorBrush(Colors.Blue);
gcSpreadGrid1.ConditionalFormat.AddAverageRule(AverageConditionType.Above, style, range);
Visual Basic
コードのコピー
' 2色スケール
Dim range As CellRange = GcSpreadGrid1.Columns("Quantity").ToCellRange()
GcSpreadGrid1.ConditionalFormat.AddTwoScaleRule( _
    ScaleValueType.LowestValue, Nothing, Colors.Orange, _
    ScaleValueType.HighestValue, Nothing, Colors.Red, _
    range)
' 平均より上
Dim style As New StyleInfo()
style.Foreground = New SolidColorBrush(Colors.Blue)
GcSpreadGrid1.ConditionalFormat.AddAverageRule(AverageConditionType.Above, style, range)

関連トピック