ネットフォーマット・レポートを別のスタイルに印刷する方法


詳細
私达はいつもレポートを印刷しなければならなくて、印刷の上の面倒にも出会って、例えば时には私达は厳格にレポートの上の様式に従いたくなくて、実际の応用によって别の様式がもっと适しているかもしれませんが、この时どうすればいいですか、実はレポートのソフトウェアは设定することができて、今日私はみんなを连れて理解しにきます!
1.問題の説明
記入網フォーマットレポートでは、各行の前にチェックボックスがあり、ページに設定された印刷ボタンをクリックして、選択したチェックボックスの値を一定のスタイルで印刷したい.
2.実現構想
固定形式の別のテンプレートを定義できます.このテンプレートのデータは、レポート形式のレポートで選択した値に基づいてフィルタリングされます.レポート形式のレポートでは、ボタンのクリックイベントでjsを定義する必要があります.jsは、まず選択した行のデータを取得し、FineReport(インスタンスで使用するレポート開発ツールがFineReport)に組み込まれた印刷方法を呼び出します.選択した値をパラメータとして印刷方法のURLに追加し、印刷されたテンプレートに転送します.
3.例
プレビューテンプレートの効果は次のとおりです.
下の図のようなスタイルで印刷するデータをいくつか選択し、具体的な実装手順を見てみましょう.
3.1新規印刷するフォームテンプレート
・データセットの定義
このテンプレートは、選択した値に基づいて印刷されるため、このテンプレートでパラメータを定義します.ここでは、パラメータをデータセットパラメータとして定義します.
ワークブックを新規作成し、データセットds 1を追加します.SQL文は、SELECT*FROM受注where受注ID in(${ID})です.
・仕様設計
表を印刷するように設計します.ここでは、テンプレートを次のように設定します.
B 2セルの左の親をなしに設定し、残りのセルの左の親をB 2に設定します.
B 3とD 3を形態設定します.
同様にテンプレートを段組みすることもできます.
・テンプレートの保存
テンプレートを保存します.具体的な設定はテンプレートを参照できます:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\FormFAQ\PrintCol.cpt
3.2プレビューテンプレートの変更
・テンプレートを開く
テンプレートを開く:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm7.cpt.
・テンプレートの修正
このテンプレートでは、ボタンの名前とボタンのjsを変更すればよいので、ボタン名を「印刷」に変更し、jsを次のコードに変更します.
 
var $span = $('.fr-checkbox-checkon');  // 
var darray = [];
var $tds = $("td").has($span); // 
for (var i = 0, len = $tds.length; i < len; i ++) {    // 
   var id = $($tds[i]).attr("id");  // id 
var idn = id.replace("A","B"); // A B 
var vv=document.getElementById(idn).innerHTML;    // B 
  darray.push(vv);  
}
FR.doURLPDFPrint("${sevletURL}ReportServer?reportlet=/doc/Form/FormFAQ/PrintCol.cpt&ID="+darray);  // ,URL 

 
注意:取得したvv値が文字列の場合、配列に入れるにはdarrayに変更する必要があります.push("'"+vv+"'").
・テンプレートの保存
テンプレートを保存します.具体的な設定はテンプレートを参照できます:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\FormFAQ\PrintOtherStyle.cpt.
3.3効果の表示
印刷プレビューを入力します.cptは、数行のデータを選択して印刷ボタンをクリックすると、上図の効果に従って印刷されます.