3

いくつかのサブレポートにさまざまなオブジェクトのリストを入力する必要があります。基本的に私は次のように言ってみましょう:
中古車の
サブレポート新しい車のサブレポート

文字列として変数を使用してビークルBeanクラスを作成し、そのためのgetterメソッドとsetterメソッドを作成します。次に、データソースでList<List<String>>detailRowsとして渡します。detailRowsには、新車のリストと中古車のリストが含まれています。たとえば、データソースにdetailRowsを渡します。
質問は、これら2つのリストを2つのサブレポートに渡すにはどうすればよいですか?new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{newVehiclesList})サブレポート1のデータソースおよびサブレポート2のデータソースとして 使用できます new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{usedVehiclesList})か?
私が言ったこと以外にやらなければならないことはありますか?変数を作成して渡す必要がありますか?私が上にリストしたようにリストのリストの適切な使用ですか、それともそれ$F{detailRows}.get(0)ですか?

メインレポートにタイプリストとしてフィールドdetailRowsを作成しました。次に、以下をサブレポートのデータソース式に渡します。fromdetailRowsをサブレポートにnew net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{detailRows} 渡す方法はありますか?newVehiclesList

ありがとう!

4

3 に答える 3

5

サブレポートを選択すると、プロパティ「接続タイプ」を「データソース式を使用する」として設定でき、プロパティ「データソース式」内で次のように設定できます。

new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{yourFieldHere})

「yourFieldHere」がリストの場合 (フィールド プロパティ内の「フィールド クラス」も java.util.List として設定することを忘れないでください)

于 2012-07-13T11:23:54.830 に答える
1

次に、各リスト (newVehiclesList と usedVehiclesList) に 1 つずつ、フィールド クラスを java.util.List として 2 つのフィールドを作成する必要があります。

2 つのサブレポートを好きな場所に配置し、それぞれをクリックして次の手順を実行します。

「接続タイプ」を「データソース式を使用する」に変更し、「データソース式」を新しい net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{yourField}) に変更します

終わり。

ps: newVehiclesList および usedVehiclesList 内のフィールドを使用するには、独自のサブレポート内にそれらを作成する必要があります。

于 2012-07-13T18:12:05.870 に答える