OnBeforePrint イベントの使用例
このイベントについて、クライアントの一覧を表すレポートの作成例によって説明します。このレポートには、名前が文字 "A" で始まる企業のみが含まれるようになります。
Delphi で新しいプロジェクトを作成し、フォーム上に TTable、TfrxDBDataSet、および TfrxReport コンポーネントを置いて、以下のプロパティを設定します。
Table1:
DatabaseName = 'DBDEMOS'
TableName = 'customer.db'
frxDBDataSet1:
DataSet = Table1
UserName = 'Customers'
レポート デザイナーを開いて、次のようなレポートを作成します。

データ バンドを選択し、オブジェクト インスペクターにある[イベント]タブに切り替えます。

OnBeforePrint イベントのハンドラー(これが、私たちにとって最も適切です)を作成するには、イベントの名前の右側にある空白フィールドをダブルクリックします。

これにより、空白のハンドラーがスクリプトのテキストに追加され、デザイナーが[コード]ページに切り替わります。

今必要なのは、ハンドラーの本文に次のコードを入力することです。
Pascal スクリプト:
if Copy(<Customers."Company">, 1, 1) = 'A' then
MasterData1.Visible := True
else
MasterData1.Visible := False;
C++ スクリプト:
if (Copy(<Customers."Company">, 1, 1) == "A")
MasterData1.Visible = true;
else
MasterData1.Visible = false;
レポートを実行し、スクリプトが正しく動作することを確認してください。

いくつかの事項を説明しましょう。1 つのハンドラーを 1 つ以上のオブジェクトのイベントに割り当てることができます。Sender パラメーターは、イベントを開始するオブジェクトを示します。既存のハンドラーをイベントに割り当てるには、オブジェクト インスペクターでそれを直接入力するか、またはドロップダウン リストから選択します。

ハンドラーへのリンクは簡単に削除できます。オブジェクト インスペクターで割り当て済みのハンドラーを選択して、Delete キーを押します。