グループ内枠線を無くす

  • 作成者:ayuan0625
  • 編集回数:8次
  • 最終更新:FRInternational 于 2021-11-19
  • 一. 概要

    1.予想される効果

    グループ化帳票を設計するときは、同じグループに枠線がなく、異なるグループ間に枠線があることが望まれます(下図(左)が元の形式、下図(右)が望まれる形式)。

     

    2.考え方

    条件属性またはJSにより、グループの枠線を表示・非表示にすることができます。

    二.例示

    1.テンプレートを準備する

    1.テンプレートを作成し、データセットds1を追加します。SQL:SELECT Country,Region,City FROM Client

     

    2.データを対応するセルにドラッグし、次のようにテンプレートを設定します。

     

    3.枠線を設定します。セルC2を選択し、セルC2の上下の枠線を削除し、左右の枠線を保持します(下図)。

     

    4.セルD2を選択し、左側の親セルB2(営業担当者)に設定し、レイヤーごとの合計式COUNT(C2)+D2B2:-1、実績(C2)の件数を合計し、D列を非表示にします(下図)。

    COUNT(C2)グループ内のセルの数を計算します。D2B2:-1とは、前のB2セルに対応するD2の値を取得することを意味します。式の機能は、各グループの最後までのセルの数を記録することです。

     

    2.枠線を設定する

    1.では、C2セルの上下の枠線が除去され、各グループの最後のセルまでのセル数が記録されます。次に、この数を利用して、対応するグループ枠線を添加する必要があります。つまり、各グループの最初のセルに枠線を追加するか、各グループの最後のセルに枠線を追加します。

    条件属性やJSの追加により、枠線を追加することができます。

    2.1条件属性

    セルC2を選択し、条件属性>条件の追加>属性>枠線>編集をクリックし、下の枠線のみを追加します。

     

    2.2JS方法

    条件属性を除いて、JSイベントを追加することで実現できます。

    次の図に示すように、テンプレート>テンプレートWeb属性>改ページプレビュー設定を選択し、テンプレートに個別に設定し、読み込み終了イベントを追加します。

     

    JavaScriptコードは次のとおりです。

    注:この方法はモバイル端末に対応できません。

    //セルD2の値に対応する行を見つけ、下の枠線を追加します。ここで、id^=Dとは、列Dのセルが選択されていることを意味します

    $("id^=D").each(function(){  
        $("#r-"+$(this).text()+"-0").css("border-bottom","1px solid black");  
    })

    3.プレビュー

    3.1PC端末

    レポートを保存し、改ページプレビューをクリックすると、効果は下図のようになります。

     

    3.2モバイル端末

    App及びHTML5での効果は下図のようになります。

    注:JS方法はモバイル端末に対応できません。

     



    Attachment List


    Theme: FineReport 帳票実例
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read