パラメータ値に応じて異なる列の表示

  • 作成者:ayuan0625
  • 編集回数:10次
  • 最終更新:ayuan0625 于 2026-01-27
  • 一.概要

    1.バージョン

    帳票サーババージョン

    機能変動

    11.0

    -

    2.期待される効果

    パラメータを選択することで、異なるテンプレート内容を表示することが必要な場合があります。例えば、ラジオボタングループで選択した集計タイプに応じて、異なる集計帳票を表示する場合があります。以下の図のように表示されます:

    1.gif

    3.実現の考え方

    パラメータウィジェットで帳票に異なる列を表示させる方法は以下の 2 通りがあります:

     · 方法1:条件属性で帳票の表示列を制御します。

     · 方法2:SQL 文で帳票の表示列を制御します。

    二.例1:条件属性による実現

    1.データ準備

    データベースクエリ ds1 を新規作成します:SELECT * FROM 販売量

    2.テンプレートの作成

    地域と販売員フィールドをセルにドラッグし、それぞれの販売量の合計を設定した上で、帳票のスタイルを設計します。以下の図のように表示されます:

    2.png

    3.パラメータウィジェットの追加

    まず、下図のようにテンプレート変数typeを追加します:

    3.png

    パラメータパネルで「ラジオボタングループ」ウィジェットと「クエリボタン」ウィジェットを追加します。ラジオボタングループの[ウィジェット名]をtypeとします。[データ辞書]を設定し、2 つのオプションをカスタマイズします。以下の図のように:

    4.png

    4.条件属性の設定

    セル A1 および A2 を選択し、右クリックして[条件属性]を追加します:[行の高さ]を 0 に設定し、[数式条件]を$type!='地域'とします。セル A3 および A4 を選択し、同様に[条件属性]を追加します:[行の高さ]を 0 に設定し、[数式条件]を$type!='販売員'とします。以下の図のように表示されます:

     5.png

    テンプレートを保存し、「改ページプレビュー」をクリックすると、期待される効果が得られます。

    5.効果プレビュー

    5.1PC端末

    効果は第1章第2節の通りです。

    5.2モバイル端末

    App 端末と HTML5 端末での効果は以下の図のように:

    6.gif

    三.例2:SQL 文による実現

    1.一般帳票新規作成

    メニューバーの[ファイル]-[一般帳票新規作成]をクリックします。以下の図のように:

    7.png

    2.パラメータウィジェットの追加

    「ラジオボタングループ」ウィジェットを追加し、[ウィジェット名]をtypeと設定します。さらに、「クエリボタン」を追加します。以下の図のように:

    8.png

    3.データの準備

    データベースクエリ ds1 を新規作成します:

    SELECT ${if(type="地域","地域","販売員")} as a, sum(販売量) num
    FROM 販売量
    ${if(type="地域","group by 地域","group by 販売員")}

    変数typeの[既定値]を関東に設定します。以下の図のように:

    9.png

    4.テンプレートの作成

    フィールドanumをセルにドラッグし、中央揃えを以下の図のように設定します:

    10.png

    5.ウィジェットのパラメータの設定

    11.png

    テンプレートを保存し、「改ページプレビュー」をクリックすると、期待される効果が得られます。

    6.効果プレビュー

    6.1PC端末

    効果は第1章第2節の通りです。

    6.2モバイル端末

    効果は第2章第5.2節の通りです。

    四.テンプレートのダウンロード

    1)例1:条件属性による実現

    テンプレートをダウンロードするにはこちらをクリックしてください:条件属性による異なる列の表示.cpt

    2)例2:SQL 文による実現

    テンプレートをダウンロードするにはこちらをクリックしてください:SQL文による異なる列の表示.cpt

    Attachment List


    Theme: FineReport パラメータ応用
    • いいね
    • 良くない
    • 閲覧しただけ