2013-08-23 45 views
3

我在JasperReports的服務器5.2.0的報告,這份報告中,我有兩個輸入控制獲取JasperReports服務器輸入控件的可見列的值?

第一個是:

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

,另一種是

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

這些我傳遞給報告的兩個參數,現在在報告結尾處,我想顯示輸入參數選擇值,以便用戶可以看到他已選擇的內容。但我無法獲得參數的可見值。我只能打印值列值。

所以我的問題是有沒有辦法在報告中打印輸入控件的可見列值?

+0

這個問題已經打開: [將多選和單選的可見列/列表值傳遞給jrxml文件作爲參數。](http://community.jaspersoft.com/jasperreports-server/issues/4347) 。你可以給它一個聲音 –

+0

試試這個解決方案:[輸入控件](http://community.jaspersoft.com/questions/529170/input-controls)。這是關於使用兩個值的paira作爲* value列*(例如,用分隔符分隔)並提取這個或那個部分 –

+0

您將在JRML文件中獲得國家和國家的ID。爲它寫一個子查詢。然後你會得到這些詳細信息在Report中打印 –

回答

0

直到現在,Visible Columns未被傳遞,其中Value Columns被傳遞給Jasper中的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} - 如果它是多選擇輸入控制

  • 國家名稱
  • 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%" 
    
    相關問題