3

JasperReports Server 5.2.0にレポートがあります。このレポートには 2 つの入力コントロールがあります。

最初のものは:

COUNTRY (value column- COUNTRY_ID, visible column- COUNTRY_NAME) 

そしてもう一つは

STATES (value column- STATE_ID and visible column - STATE_NAME).

これら 2 つのパラメーターをレポートに渡します。レポートの最後に入力パラメーターの選択値を表示して、ユーザーが選択した内容を確認できるようにします。しかし、パラメータの目に見える値を取得できません。値列の値のみを出力できます。

私の質問は、入力コントロールの表示可能な列の値をレポートに出力する方法はありますか?

4

1 に答える 1

0

今まで、Visible Columns渡されていませんでしたが、Value ColumnsJasper の Jrml ファイルに渡されました。

 To answer you question There is a way to print the visible column values.
It can be done using Sub-queries, by using 'Value Column' passed to the JRML file.
Then add the subquery to your main query and it`s done!!

上記のシナリオでは、表示できます

  1. 州名

SELECT States.STATE_NAME from States WHERE state_id = $P{STATE_ID}・シングルセレクト入力制御の場合

SELECT GROUP_CONCAT(States.STATE_NAME) from States WHERE state_id = $X{IN,state_id,STATE_ID}・マルチセレクト入力制御の場合

  1. 国の名前

SELECT Country.COUNTRY_NAME from COUNTRY WHERE country_id= $P{COUNTRY_NAME}・シングルセレクト入力制御の場合

SELECT GROUP_CONCAT(Country.COUNTRY_NAME) from COUNTRY WHERE country_id = $X{IN,state_id,STATE_ID}・マルチセレクト入力制御の場合


これが国と州が欠落しているメインクエリであるとします..

SELECT
    `id`,
    `product-id`,
    `name`,
    `description`,
    `branch`,
    `stock`,
    `price`
FROM
    `products`
WHERE
    `name` LIKE "%car%"

変更されたクエリは次のようになります。

    SELECT
        `id`,
        `product-id`,
        `name`,
        `description`,
        `branch`,
        `stock`,
        `price`,
        (SELECT States.STATE_NAME from States WHERE state_id = $P{STATE_ID}) as state,
(SELECT Country.COUNTRY_NAME from COUNTRY WHERE country_id=P{COUNTRY_NAME}) as country
    FROM
        `products`
    WHERE
        `name` LIKE "%car%"
于 2015-10-15T07:45:07.800 に答える