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

条件付き書式は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) | |