5

Jasper/iReport を使用して、メイン レポートに同じデータを入力するテーブルを取得しようとしています。Jsonを引き継ぐにはどうすればよいですか?

Edit table datasource で試しました:

((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE})

new ((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE})

$P{REPORT_DATA_SOURCE}

$P{REPORT_CONNECTION}

これらはすべてコンパイルされますが、実際にテーブルを生成するものはありません。何か案は?JSON 用の cloneDataSource() のようなメソッドはありません。代替手段は何ですか?

最終的な目標は単純です。JSON データを渡し、それを使用してグラフを生成し、同じ情報を表に表示することです。私はこれに何日も取り組んできましたが、ジャスパーは私に苦労しています. 助けてください!

4

3 に答える 3

4

誰かが JasperReports の新しいブック レポート機能 (バージョン 6 以降で利用可能) を使用していて、 を使用したい場合JsonDataSource、これは json ペイロードをサブレポートに渡す方法です。

<p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd">
  <subreportParameter name="REPORT_DATA_SOURCE">
    <subreportParameterExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource()]]></subreportParameterExpression>
  </subreportParameter>
  <subreportExpression><![CDATA["PROFILES_cover.jasper"]]></subreportExpression>
</p:subreportPart>

ノードの場所をメソッドのパラメーターとして指定することで、json ペイロードのサブセットを渡すこともできますsubDataSource(java.lang.String selectExpression)。例:

.subDataSource("Northwind.Customers")

また

.subDataSource("Northwind.Customers(Country == USA)")
于 2015-07-03T02:34:52.317 に答える