2017-11-05 5 views
1

私は私のレポート内のテーブル要素のためのJSONデータソースを持っています。私のJSONは -データ自体と同じデータソース内のカラムとテーブルのヘッダー(JSONデータ・ソース)

[{ 
     "line_num": { 
      "oldVal": "1", 
      "newVal": "5" 
     }, 
     "product1": { 
      "oldVal": "product1old", 
      "newVal": "product1new" 
     } 
}, { 
    "line_num": { 
     "oldVal": "4", 
     "newVal": "7" 
    }, 
    "product2": { 
     "oldVal": "product2old", 
     "newVal": "product2new" 
    } 
} 
] 

、それは私のレポートのために働いていたが、その後私は、データソースから列とテーブルのヘッダを追加する必要がありました。

ので、私はこのような上記のようJSON配列に独自のオブジェクトとしてそれを追加しようとしました:

[{ 
     "tableH": "My Table Header" ,   
     "col1H": "Line No." ,  
     "col2H": "My Product" 
    }, { 
     "line_num": { 
      "oldVal": "1", 
      "newVal": "5" 
     }, 
     "product1": { 
      "oldVal": "product1old", 
      "newVal": "product1new" 
     } 

    }, { 
     "line_num": { 
      "oldVal": "4", 
      "newVal": "7" 
     }, 
     "product2": { 
      "oldVal": "product2old", 
      "newVal": "product2new" 
     } 
    } 
] 

が、問題は上のヘッダー、ページの高さより大きなラインがたくさんあるときということです最初のobj(ヘッダーobj)が2行目で不明であるため、2番目のページはnullになりました。

しかし、私は別の方法でサーバーからヘッダーを渡す方法がわかりません。

働いていた唯一の方法は、アレイ内の各OBJにヘッダのすべてを追加することですが、その挑戦的に間違っていたので、私はそれを行うことはできません。

私はまた、このような配列として行を入れてみました:

[{ 
     "tableH": "My Table Header" ,   
     "col1H": "Line No." ,   
     "col2H": "My Product" , 
     "Lines": [{ 
       "line_num": { 
        "oldVal": "1", 
        "newVal": "5" 
       }, 
       "product1": { 
        "oldVal": "product1old", 
        "newVal": "product1new" 
       } 

      }, { 
       "line_num": { 
        "oldVal": "4", 
        "newVal": "7" 
       }, 
       "product2": { 
        "oldVal": "product2old", 
        "newVal": "product2new" 
       } 
      } 
     ] 
    } 
]   

が、その後フィールドが正しく通過しなかった、それがために例えば渡さ - lines.line_num.newVal、フィールドは次のとおりです。[ "5"、 "7"]。

私は本当にそれを支援し、私がどんな役に立つ返事を感謝します必要があります。

+0

私たちは、ご希望の出力についてのアイデアを得るためにいくつかのサンプル.jrxmlファイルを使用することができます。あなたは本当にテーブルを使用する必要がありますか?どのバージョンのJasperReportsを使用していますか? – Narcis

答えて

0

静的なデータを使用してデータセットを混合するために悪い考えです。私の最初の試みは、スクリプトレットを介して静的データを取得することです。

そうしないと、グループヘッダーコンポーネントに列名を追加し、グループのisReprintHeaderOnEachPage属性によって提供される機能を活用できます。

http://jasperreports.sourceforge.net/schema.reference.html#group_isReprintHeaderOnEachPage

関連する問題