JS事前定義出力ボタン

  • 作成者:ayuan0625
  • 編集回数:14次
  • 最終更新:ayuan0625 于 2021-09-23
  • 1. 概述

    1.1 問題説明

    JS出力ファイル名設定の中に、Javascriptで「パラメータパネル」に出力ボタンを作成できます。複数のテンプレートにこのボタンを追加したいとき、一つずつ作成すると面倒になります。事前にこのボタンを定すると、すべてのテンプレートにドラグ操作だけで追加できます。下記のよう:

    4.png


    1.2 実現方法

    ウィジェット管理」で、カスタムボタンを新規、Javascriptイベントを追加して出力機能を実現します。


    2. 事例

    2.1 ボタンを追加

    1)サーバー⇒ウィジェット管理

    1.png


    2)ボタンをクリックしてウィジェットを新規

    2.png


    3)イベントをクリック、パラメータJavascript文を設定

    3.png

    パラメータ:

    servletURL:数式=servletURL

    reportName:数式=reportName

    exportName:数式indexofarray(split(indexofarray(REVERSEARRAY(split(reportName,"/")),1),".c"),1)+"_"+format(now(),"yyyyMMddHHmm")、こちらは出力ファイル名。

    JavaScript 文:

    こちらの出力するファイル名は:テンプレート名_出力時間。

    //出力URLを作成
    var url=servletURL+"?viewlet="+reportName;
    //ループ処理で各変数を取得
    $.each(this.options.form.name_widgets,function(i,item) {
         if(item.options.type!== 'label'&&item.getName()!="PARA"&&item.getName()!="SEARCH"&&item.getName()!="EXPORT") {
         url+="&"+item.getName()+"="+item.getValue();
       }
    });
    //出力URLを作成
    url+="&format=excel&extype=simple&__filename__="+exportName;
    //出力
    window.location=encodeURI(encodeURI(url));

    2.2 ボタンを使用

    テンプレートを開く、例えば:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\GettingStarted.cpt

    1)パラメータパネルツールバーに、三角マークをクリックすると作成されたボタンウィジェットを利用できます。下記のよう:

    4.png

    2)テンプレートを保存、「改ページプレビュー」をクリック。「出力」ボタンをクリックすれば出力できます。効果は下記のよう:

    5.gif

    注意:モバイル側は利用できません。

    3. テンプレート

    Attachment List


    Theme: FineReport カスタム開発
    • いいね
    • 良くない
    • 閲覧しただけ