2017-10-24 15 views
-1

私は、CSV形式のデータアダプタファイルを参照するJaspersoft Studioでラベルを設定しています。 csvファイルには何千ものレコードが含まれています。私はエンドユーザが特定のレコードを印刷するための「注文番号」を選択またはキーで入力できるようにしたい。注文番号が1つ入力されると、レコードが検索されて印刷されます。 10件の注文番号が入力されると、10件のレコードが印刷されます。jaspersoftはCSVファイルから特定のレコードを印刷します

ありがとうございます。

答えて

0

パラメータを使用すると、ユーザーが入力を行うことができます。 CSV言語を照会していないので、しかし、あなたは、データソース内のフィールドの式を使用することができます

ここでパラメータ

https://community.jaspersoft.com/wiki/using-report-parameters

を追加する方法だと、これはフィールド式を使用する方法です

https://community.jaspersoft.com/wiki/how-apply-parameters-csv-data-source

詳細:属性でフィルタ:

クエリ]ダイアログで

、あなたはこのコードは、ORDER_NOパラメータ

に等しい ORDER_NOフィールドを持つCSV行をフィルタしますフィルタ式]タブを選択し、この

$F{order_no}.equals($P{order_no}) 

ようなコードでフィールドを埋めます

複数のURLで絞り込む:

JasperReportは、JavaまたはGroovyでいくつかのスクリプトを実行できます(d ependingまたはその設定)。だから、配列への分割入力のようなもっと複雑な作業を行い、それを使って行を検索することができます。

私が心に留めていることは、エンドユーザーにスペースでorder_noを分けて、このスクリプトを使用してデータをフィルタすることです。

Arrays.asList($P{order_no}.split(" ")).indexOf($F{order_no}) > -1 

私はまだこのコードをテストしていませんが、うまくいけばいいと思います。 (スクリプトを試してみてください)。

+0

この情報が* csv * datasourceからのデータのフィルタリングにどのように役立つのでしょうか? –

+0

コードをフィルタリングするサンプルを追加しましたが、これはcsvデータソースからデータをフィルタリングする方法を説明していますか? – egon12

+0

'注文番号が1つ入力された場合 - レコードが検索され、印刷されます。 10件の注文が入力された場合、10件のレコードが印刷されます。 ' - いいえ、元の質問には役立ちません。フィルタでは属性のフィルタではなくレコードの数を制限する必要があります –

関連する問題