ActiveReportsでは、式を使用することで、レポート内のコントロールに値を設定したり、特定の条件に応じてプロパティの値を変更することができます。式は、以下の場所で設定できます。
式はすべて等号(=)で始まります。例えば、TextBoxにフィールドの値を設定する式は以下のようになります。
=Fields!LastName.Value
式エディタを用いて式を素早く作成できます。このダイアログでは、レポートやプロパティに設定したい式を一覧の中から選択できます。コントロールのほぼすべてのプロパティについて、プロパティウィンドウのドロップダウンリストから<式...>を選択することで式エディタを開くことができます。
式エディタでは以下の7種類のフィールドから選択できます。
式エディタで式を作成する
[式エディタ]ダイアログには、[フィールド]と[式]の2つのペインがあります。
上記の手順で設定した式は、プロパティウインドウにも表示されます。
ヒント : [式]ペインには完成された状態の式だけではなく、未完成状態の式でも追加できます。[挿入]や[追加]ボタンを使用することで、[式]ペインに表示されている式を編集し、式を完成させることができます。 |
そのままの状態ではレポートに表示できないデータの場合、式を使用することで意図する内容にデータをカスタマイズして表示させることができます。式の設定方法の例をいくつか説明します。
フィールドと文字列を連結する
フィールドを文字列と連結し、他のフィールドとも連結できます。例えば、次のような式を設定した場合、結果は「Customer Name: Bossert, Lewis」となります。
="Customer Name: " & Fields!LastName.Value & "," & Fields!FirstName.Value
条件付き書式
Color、Font、Borderなどのようなプロパティの場合、式を使用することで、特定のフィールドが条件を満たす時のみデータを強調表示できます。条件付き書式を定義するには、以下のような式を設定します。
=iif( Fields!YourFieldName.Value operator "比較する値", "条件を満たした場合、この値を使用する。", "それ以外の場合は、この値を使用します。"
例えば、テキストボックスの[Font > FontWeight]プロパティに次の式を入力すると、「Denise」という名前の時のみ太字で表示されます。
=iif(Fields!FirstName.Value = "Denise", "Bold", "Normal")
関数
式の中には、いくつかの集計および関数を使用できます。ActiveReportsでは、累計、母集団分散、標準偏差、総数、最小値および最大値のような関数が提供されています。例えば、下記の式を使用して社員の数を計算できます。
=Count(Fields!EmployeeID.Value, Nothing)
レポートをデザインするとき、式のテキスト全体が長くなる場合があります。ActiveReportsでは、式を縮小して読みやすくすることができます。
式が次のような形の場合、
=Fields!<FieldName>.Value
デザイン表面上のテキストボックスには次のように表示されます。
=[<FieldName>]
テキストボックスをダブルクリックすると式は全て編集モードになります。
次のような集計式の場合、
=<Aggregate>(Fields!<FieldName>.Value)
デザイン表面上のテキストボックスには次のように表示されます。
=<Aggregate>([<FieldName>])
この短縮式は、表示の場合だけ使用され、フィールド名を読みやすくします。テキストボックスのデザイン面やプロパティ設定ダイアログ内のドロップダウンには、この短縮式が表示されます。
メモ : 上記のような短縮形式で、フィールド名を入力できます。また、レポートを実行する時は、式は完全な形式で評価されます。 |
フィールド名以外にも、パラメータの場合は[@Param]、[&PageNumber](ページ番号)のように短縮され、共通フィールドの場合は[&Value]に短縮されてデザイン面上に表示されます。ただし、式エディタに短縮した式は使用できませんので、ご注意ください。