ヒントポイントカスタマイズ

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

    1.アプリケーションシナリオ

    • セルデータで作成されたグラフに人数と割合の両方を表示すること

    • チャートのヒントポイントに単位・文字を追加すること

    • 長すぎるチャートのヒントテキストを改行させること

    • 組み合わせチャートで、縦棒グラフにマウスを合わせて、ノードの所属関係を表示させること

    • ヒントポイントの背景色を換えるか、背景を画像に変更すること

    本文の方法により上記の要望を実現することができます。

    2.機能の説明

    2.1.ヒントポイントの設定:スタイル

    効果は次のとおりです。

    01.png

    2.2.ヒントポイントの設定:画像

    効果は次のとおりです。

    2.3.ヒントポイントの設定:内容

    ヒントポイントに、各月の割合と対応するブロックの前年比の変化値を表示します。効果は次のとおりです。

    2.4.ヒントポイントの設定:内容書式

    ガントチャートに組み込まれている「開始」、「終了」などのテキストの説明を削除したり、データ書式を変更したりできます。効果は次のとおりです。

    04.png

    2.5.ヒントポイントの設定:親ノードの表示

    マウスを積み上げ縦棒グラフの一番上の棒に移動したら、系列の合計が表示されます。他の棒に移動したら、棒自体の実際の値を表示します。効果は次のとおりです。

    05.gif

    2.6.ヒントポイントの設定:親ノードの表示

    多層円グラフについてマウスを最も外側のノードに移動したら、現在のすべてのノードの親ノード名を表示します。

    効果は次のとおりです。06.png

    二.例1:ヒントポイントの設定-スタイル

    1.データの準備

    一般帳票を作成し、ビルトインデータセットEmbedded1を追加して、アクセス数を入力します。下の画像の通りです。

    07.png

    2.チャート挿入

    フローティングチャートを例として、挿入-フローティング要素をクリックして、縦棒グラフ-縦棒グラフを選択します。

    08.png

    3.チャートデータ設定

    対象チャートを選択し、右側にデータを選択します。下の画像の通りです。

    09.png

    4.スタイルの設定

    スタイル-ヒントに入り、ヒントを使うにチェックを入れ、カスタムをクリックして、JSコードを入力し、HTMLでテキストの内容を解析をクリックします。下の画像の通りです。

    10.png

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

    function(){ 
    return '<h2 align="center">'+ this.category+
    '</h2><table border="1"cellspacing="0" cellpadding="0" bordercolor="#FFFFFF">
    <tr><td style="color:white;">種類</td>
    <td style="color:white;"> '+this.seriesName+' </td>
    </tr><tr>
    <td style="color:white;">合計</td>
    <td style="color:white;">'+this.value+'</td>
    </tr> </table>';}

    5.保存とプレビュー

    帳票を保存して、改ページプレビューをクリックします。

    三.例2:ヒントポイントの設定-画像

    1.テンプレートを開く

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc-en\Advanced\Chart\PieChart\NormalPieChart.cptを開きます。

    2.チャートスタイル設定

    円グラフを選択し、ヒントを使うにチェックを入れ、カスタムをクリックして、JSコードを入力し、HTMLでテキストの内容を解析をクリックします。下の画像の通りです。

    11.png

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

    function() {return '<p><img src ="../../help/picture/logo-ch.png" align="middle"></p>';}

    3.保存とプレビュー

    帳票を保存して、改ページプレビューをクリックします。

    四.例3:ヒントポイントの設定-内容

    1.テンプレートを開く

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\ doc\Advanced\Chart\PieChart\FloatingPieChart.cpt を開きます。

    12.png

    ヒントポイントに前年比を追加します。

    2.帳票デザイン

    下図に示すように最初にフィールドをセルにドラッグします。

    13.png


    注:フィールドはデフォルトとして垂直方向に拡張されます。リスト形式で表示する必要があるため、ここでは拡張しないように設定します。

    3.スタイル設定

    スタイル-ヒントをクリックし、ヒントを使うにチェックを入れ、カスタムをクリックして、JSコードを入力し、HTMLでテキストの内容を解析をクリックしてください。下の画像の通りです。

    14.png

    コードは次のとおりです:

    function(){
    var m = contentPane.getCellValue(0,0,2);var z = contentPane.getCellValue(0,1,2);
    var t = contentPane.getCellValue(0,2,2);var j= m.length;
    for(var i=0;i<j;i++){if(this.seriesName ==m[i]){return '<div style="color:white;">
    月:'+m[i]+' 割合:'+z[i]+' 前年同期比:'+t[i]+'</div>'}}}

    月、割合、前年比を取得し、月の配列の長さを取得し、forループ、if判断により、系列名が月と等しい場合、ヒントポイントは以前に取得したセルフィールドを戻します。フォントの色をdivを通じて白に設定されています。
    次に、123行を非表示にします。

    15.png

    チャートのタイトルを設定します。下の画像の通りです。

    16.png

    注:円内のテキストは、フローティング要素:テキストの挿入するから実現されます

    17.png

    frmテンプレートでは、次のコードを入力してください。

    function(){
    var a=$("td[id^=A3-]").text();var aa= a.split(",");
    var b=$("td[id^=B3-]").text();var bb= b.split(",");
    var c=$("td[id^=C3-]").text();var cc = c.split(",");
    var d=$("td[id^=D3-]").text();var dd= d.split(",");
    var j= aa.length;for(var i=0;i<j;i++){
    if (this.seriesName == aa[i]){
    return 'レベルお客様:\n'+aa[i]+'当月実績:'+ bb[i]+'\n当月計画:'+cc[i]+'\n達成率:'+dd[i];}}}

    五.例4:ヒントポイントの設定-内容書式

    1.テンプレートを開く

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\ doc\Advanced\Chart\GanttChart\MachineStatusGanntChart.cptを開きます。

    2.チャートスタイル設定

    スタイル-ヒントをクリックし、ヒントを使うにチェックを入れ、カスタムをクリックして、JSコードを入力し、HTMLでテキストの内容を解析をクリックしてください。下の画像の通りです。

    18.png

    JS コードは次のとおりです:

    function(){
    var m = contentPane.getCellValue(0,0,2);var z = contentPane.getCellValue(0,1,2);
    var t = contentPane.getCellValue(0,2,2);var j= m.length;
    for(var i=0;i<j;i++){if(this.seriesName ==m[i])
    {return '<div style="color:white;">月:'+m[i]+' 割合:'+z[i]+' 前月同期比:'+t[i]+'</div>'}}}

    1.ガントチャートで対応されるパラメーターには、this.seriesName、this.processes [](リスト)、this.startTime、this.finishTime、this.duration、this.progress、this.id、this.processesIdが含まれます。
    2.This.startTime、this.finishTimeはFineReportの時間形式を使用しているため、その前に+記号があることを注意を払ってください。

    3.this.duration.as('day')は、時間+単位を表し、year, month, day, hour, minute, secondにすることができます。

    3.保存とプレビュー

    帳票を保存して、改ページプレビューをクリックします。

    六.例5:ヒントポイントの設定-カテゴリ下系列の集計

    1.テンプレートを開く

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc-EN\Chart\CustomHTMLFuction\Custom_labels_for_series_and_column_chart.cpt

    を開きます。

    2.チャートスタイル設定

    スタイル-ヒントをクリックし、ヒントを使うにチェックを入れ、カスタムをクリックして、JSコードを入力し、HTMLでテキストの内容を解析をクリックしてください。下の画像の通りです。

    19.png

    JSコードは次のとおりです:

    function() {
    var vanchart = this.series.vanchart,
    series = vanchart.series;
    if (!vanchart.seriesOfType) {
    series = series.column;
    }
    var ser;
    for (var i = series.length - 1; i -= 0; i--) {
    if ((ser = series[i]).visible && this.points[i].getTargetValue() != 0) {
    break;}}
    if (ser && ser == this.series) {
    var points = this.points,
    value = 0; /*現在カテゴリ下にある全てのヒントポイントを取得する*/
    for (var i = 0, len = points.length; i < len; i++) {
    if (points[i].series.visible) {
    value += points[i].getTargetValue() /*ヒントポイントの値を取得する*/
    }}
    return value;} /*加算した値を返す*/
    else {return this.value;}} /*各ヒントポイントの値を返す*/

    注:テキストの形式の混乱を避けるために、コードをコピーした後にコメントを削除することをお勧めします。

    3.保存とプレビュー

    帳票を保存して、改ページプレビューをクリックします。

    七.例6:ヒントポイントの設定-親ノードの表示

    1.テンプレートを開く

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc-EN\Chart\CustomHTMLFuction\Multi-layer_pie_chart.cptを開きます。

    2.チャートスタイル設定

    スタイル-ヒントをクリックし、ヒントを使うにチェックを入れ、カスタムをクリックして、JSコードを入力し、HTMLでテキストの内容を解析をクリックしてください。下の画像の通りです。

    20.png

    コードは次のとおりです:

    function() {
    var currentNode = this,
    root = currentNode.series.root,
    nodePath = currentNode.name;
    while ((currentNode = currentNode.parent) && currentNode != root) {
    nodePath += (" 上級ノード:" + currentNode.name)
    }
    return nodePath;
    }

    3.保存とプレビュー

    帳票を保存して、改ページプレビューをクリックします。

    Attachment List


    Theme: FineReport チャート
    • いいね
    • 良くない
    • 閲覧しただけ