私は、CSV形式のデータアダプタファイルを参照するJaspersoft Studioでラベルを設定しています。 csvファイルには何千ものレコードが含まれています。私はエンドユーザが特定のレコードを印刷するための「注文番号」を選択またはキーで入力できるようにしたい。注文番号が1つ入力されると、レコードが検索されて印刷されます。 10件の注文番号が入力されると、10件のレコードが印刷されます。jaspersoftはCSVファイルから特定のレコードを印刷します
ありがとうございます。
私は、CSV形式のデータアダプタファイルを参照するJaspersoft Studioでラベルを設定しています。 csvファイルには何千ものレコードが含まれています。私はエンドユーザが特定のレコードを印刷するための「注文番号」を選択またはキーで入力できるようにしたい。注文番号が1つ入力されると、レコードが検索されて印刷されます。 10件の注文番号が入力されると、10件のレコードが印刷されます。jaspersoftはCSVファイルから特定のレコードを印刷します
ありがとうございます。
パラメータを使用すると、ユーザーが入力を行うことができます。 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
私はまだこのコードをテストしていませんが、うまくいけばいいと思います。 (スクリプトを試してみてください)。
この情報が* csv * datasourceからのデータのフィルタリングにどのように役立つのでしょうか? –
コードをフィルタリングするサンプルを追加しましたが、これはcsvデータソースからデータをフィルタリングする方法を説明していますか? – egon12
'注文番号が1つ入力された場合 - レコードが検索され、印刷されます。 10件の注文が入力された場合、10件のレコードが印刷されます。 ' - いいえ、元の質問には役立ちません。フィルタでは属性のフィルタではなくレコードの数を制限する必要があります –