Search Results for

    Show / Hide Table of Contents

    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 キーを押します。

    Back to top © Copyright Fast Reports Inc.