条件付き強調表示
指定した条件に応じて、テキスト オブジェクトの外観を変更することができます。たとえば、オブジェクトの値が負の値の場合には、そのオブジェクトを赤色で強調表示させることができます。
この機能を "条件付き強調表示" と言います。これを設定するには、テキスト オブジェクトを選択して[テキスト]ツールバーの ボタンをクリックします。次のようなダイアログ ウィンドウが表示されます。
1 つまたは複数の条件を定義し、条件ごとにスタイルを設定することができます。スタイルには、以下の設定を含めることができます。
- 枠
- 塗りつぶし
- フォント
- オブジェクトの可視性
条件と一致した場合に変更する設定項目を指定できます。[スタイル]カテゴリのチェックボックスを使用して必要な設定項目をチェックします。
新しい条件を作成するには、[追加]ボタンをクリックします。式エディターが表示されます。ここで、ブール型の結果を返す式を記述することができます。ほとんどの場合、Value
変数を使用します。これには現在出力している値が含まれます。
次の例を見てみましょう。製品の在庫数を出力する 1 つのテキスト オブジェクトがあります。
[Products."UnitsInStock"]
製品の在庫数が 0 のときにはそのオブジェクトを赤色で出力するようにします。このため、次の条件を作成します。
Value = 0
注意:スクリプト言語として C++Script を選択している場合は(詳細については「スクリプト」の章を参照)、C++Script を使用して条件を記述する必要があります。
Value == 0
指定した例では、出力される 1 つの値を持つ Value
変数を使用しています。オブジェクト内で複数の式がある場合、この変数は最後の式の値を持ちます。Value
の代わりにデータ列を使用できます。
<Products."UnitsInStock"> = 0
次のダイアログは、指定した条件に対して塗りつぶしのみを使用し、赤色を選択するスタイルの設定を表しています。
ゼロの値を持つオブジェクトを出力する場合、そのオブジェクトは赤色で出力されます。
さらに、より複雑な例として条件をもう 1 つ追加します。在庫数が 10 未満になったら黄色で出力するようにします。これには、[追加]ボタンをクリックして式エディターを開きます。2 番目の条件は次のようになります。
Value < 10
複数の条件が指定された場合、FastReport では最初の条件から順にチェックされます。ある条件と一致すると、FastReport はその条件に応じたスタイル設定をオブジェクトに適用し、処理を停止します。
このため、条件を適切な順序で指定することが重要です。次の例は正しい順序です。
Value = 0
Value < 10
条件の順序を入れ替えた場合、強調表示は誤って動作します。
Value < 10
Value = 0
この例は、値が 0 の場合には最初の条件と一致してしまうため、Value = 0
が実行されません。
条件の順序を変更するには、
および
ボタンを使用します。