MESCIUS SPREAD for ASP.NET 10.0J > 開発者の手引き > スタイル > セルの条件付き書式 > ルールによる条件付き書式 > データバールール |
データバールールでは、各セルの背景として表示されるバーを使用します。 バーの長さは、ワークシート内の他のデータとの相対的なデータサイズを表します。 データバーが長いほど、セル内の値が大きいことを意味します。
条件付き書式で比較する基準となる値の型(ConditionalFormattingValueType 列挙体)、および値を指定できます。
値の型 | 説明 |
---|---|
パーセント | 条件付き書式ルールを適用するセル範囲内の最小値に、このセル範囲内の最大値と最小値との差のXパーセントを加算した値です。 たとえば、セル範囲内の最小値が1、最大値が10であり、Xが10である場合は、値は1.9となります。 |
最大値 | 条件付き書式ルールを適用するセル範囲内の最大値です。 |
最小値 | 条件付き書式ルールを適用するセル範囲内の最小値です。 |
数式 | 数式の結果により、ルールが適用されるセル範囲の最小値または最大値が決定されます。 演算結果が数値でない場合は、ゼロとして扱われます。 |
百分位数 | 範囲に適用された百分位関数の結果です。 |
自動 | 条件付き書式ルールを適用するセル範囲内において、より小さい値かより大きい値、または最小値か最大値です。 |
数値 | 条件付き書式ルールを適用するセル範囲内の数値、日付、または時刻の値です。 |
有効な百分位数は0(ゼロ)〜100です。セル範囲内のデータ点数が8,191を超える場合は、百分位を使用することはできません。百分位は、一方のデータバーによって大きな値のグループ(上位20位など)を、もう一方のデータバーによって小さな値のグループ(下位20位など)を表示する場合に使用します。極端に大きな、または小さな値が含まれ、データ表示に歪みが生じる恐れがあるような場合に便利な機能です。
有効なパーセント値は0(ゼロ)〜100です。パーセント値にパーセント記号は使用しません。 パーセント値は、値の分布が比例的である場合に、すべての値を比例的に表示するために使用します。
数式には、先頭に等号(=)を付けます。 数式が無効だと、書式は適用されません。
次の図は、セル範囲に設定されたデータバーを示します。
データバールールを定義するには、DatabarConditionalFormattingRule クラスを使用します。罫線、色、軸を指定することもできます。比較対象となる値の最小値と最大値は、Minimum プロパティおよびMaximum プロパティで設定します。これらのプロパティは、ConditionalFormattingValue クラスを参照します。ContidionalFormattingValue クラスのType プロパティでは値の型を指定できます。詳細については、上の表のとおりです。
データバールールを、次のいずれかの方法で条件付き書式として追加します。
次のサンプルコードは、データバールールを作成し、このルールを適用します。
protected void Page_Load(object sender, System.EventArgs e) { FpSpread1.Sheets[0].RowCount = 5; FpSpread1.Sheets[0].Cells[0, 0].Value = 3; FpSpread1.Sheets[0].Cells[1, 0].Value = 2; FpSpread1.Sheets[0].Cells[2, 0].Value = 10; FpSpread1.Sheets[0].Cells[3, 0].Value = 1; } protected void Button1_Click(object sender, EventArgs e) { FarPoint.Web.Spread.DatabarConditionalFormattingRule d = new FarPoint.Web.Spread.DatabarConditionalFormattingRule(); d.BorderColor = Color.Red; d.ShowBorder = true; d.Minimum = new FarPoint.Web.Spread.ConditionalFormattingValue(0, FarPoint.Web.Spread.ConditionalFormattingValueType.Number); d.Maximum = new FarPoint.Web.Spread.ConditionalFormattingValue(15, FarPoint.Web.Spread.ConditionalFormattingValueType.Max); FpSpread1.ActiveSheetView.SetConditionalFormatting(0, 0, 4, 1, d); }
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load FpSpread1.Sheets(0).RowCount = 5 FpSpread1.Sheets(0).Cells(0, 0).Value = 3 FpSpread1.Sheets(0).Cells(1, 0).Value = 2 FpSpread1.Sheets(0).Cells(2, 0).Value = 10 FpSpread1.Sheets(0).Cells(3, 0).Value = 1 End Sub Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim d As New FarPoint.Web.Spread.DatabarConditionalFormattingRule() d.BorderColor = Drawing.Color.Red d.ShowBorder = True d.Minimum = New FarPoint.Web.Spread.ConditionalFormattingValue(0, FarPoint.Web.Spread.ConditionalFormattingValueType.Number) d.Maximum = New FarPoint.Web.Spread.ConditionalFormattingValue(15, FarPoint.Web.Spread.ConditionalFormattingValueType.Max) FpSpread1.ActiveSheetView.SetConditionalFormatting(0, 0, 4, 1, d) End Sub