ActiveReportsでは、式を使用することで、レポート内のコントロールに値を設定したり、特定の条件に応じてプロパティの値を変更することができます。式は、以下の場所で設定することができます。
式はすべて等号(=)で始まります。たとえば、TextBoxにフィールドの値を設定する式は以下のようになります。
=Fields!LastName.Value
式エディタを用いて式を素早く作成することができます。このダイアログでは、レポートやプロパティに設定したい式を一覧の中から選択することができます。コントロールのほぼすべてのプロパティについて、プロパティウィンドウのドロップダウンリストから<式...>を選択することで[式エディタ]を開くことができます。
[式エディタ]では以下の8種類のフィールドを設定することができます。
式エディタで式を作成する
[式エディタ]ダイアログには、[フィールド]と[式]の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]のように短縮されてデザイン面上に表示されます。ただし、[式エディタ]に短縮した式を使用することはできませんので、ご注意ください。