2012-12-13 74 views
1

iReport 4.8.0,我想讓用戶從Combobox/list/Dropdown/collection(無論您選擇)中選擇參數值,並且他選擇的值將是插入到查詢中。將組合框參數添加到iReport的報表中

我已經創建了一個字符串參數,用於在預覽報表時將字符串插入到查詢中。它工作的很好,但現在我需要定義一個組合框。

我需要提供城市的名字,所以我的查詢是:

SELECT 
    COUNT(leads.`status`) AS Number_Of_Status, 
    leads.`status` AS leads_status, 
    leads.`primary_address_city` AS leads_primary_address_city, 
    leads.id AS lead_id 
FROM 
     `leads` leads 
WHERE 
     leads.`primary_address_city` = $P{city_combobox} 
GROUP BY 
     leads.`status` 

我試圖讓city_combobox參數java.util.List但我得到Parameter type not supported錯誤,我也不知道在哪裏字符串加載到它。

我不知道JasperReports的服務器什麼,我沒有安裝它,只有iReport的安裝並就知道我與它的一切。

所以我在尋找一種方式來做到這一點在iReport的只,無JR服務器的輸入控制。對於我來說,只需將報表手動插入組合框就足夠了,但它不一定是查詢。例如,將「NY」,「Miami」,「Washington」插入到列表參數中,但我該如何以及在哪裏執行該操作?

+1

這不是一個可以內置到JasperReports/iReport中的函數。如果您通過JasperReports服務器部署報告,則在那裏完成。如果您通過自己的應用程序進行部署,則必須在應用程序中自行完成。我不使用JasperReports服務器,所以我不能給你任何有關在那裏添加輸入控件的指示。 –

+1

@Rodniko * iReport *只是一個用於創建報告模板的GUI設計器。這不是最終用戶運行報表並以某些支持的格式獲取結果的應用程序。您可以使用* JR Server *來部署和運行報告(獲取某種格式),或者您可以創建自己的應用程序,例如用於構建報告的Java(使用設置報告參數) –

+0

謝謝,我想我必須安裝Jasperreport服務器並學習它...我想要避免這樣做,因爲文檔很差......但是謝謝你清除它。我在Ireport所做的其他報告,包括帶有字符串參數的報告,在zuckerreport上非常有用。我現在需要的只是一個下拉式的報告...... – Rodniko

回答

0

我解決了這個問題。原來zuckerreport基於jasperreport服務器,因此也可以添加輸入控件。

解決方案是創建「city_combobox」參數作爲字符串參數並保持原樣,就像我給出的上述示例。多數民衆贊成在IReport。

在zuckerreport中,添加一個名爲city_combobox的「Default Parameter Name」的參數。

下拉參數選擇「用戶定義的查詢」類型的參數,並填寫「參數設置」和「用戶定義的查詢」字段,查詢將填充下拉列表中的值列表例如:

SELECT DISTINCT leads.primary_address_city AS leads_primary_address_city FROM 線索導致

,如果你不能看到「參數設置」和「用戶定義的查詢」字段(zuckerreport的新版本他們被隱藏),然後

需要在zuckerreport的editview代碼中手動添加此代碼。 模塊添加此代碼/ zr2_ReportParameter /元數據/ editviewdefs.php:

5 => 陣列( 0 => 'range_options', )

現在重建,然後你會看到隱藏領域。

創建使用「JasperReports的模板」菜單上的一個新的模板,模板實際上是報告:

一個。爲模板選擇一個名稱並選擇報告的jrxml文件。 b。選擇PDF,Excel和HTML。 c。保存

在報告和參數之間創建新的參數綁定: a。推「創建」 b。參數名稱必須是IReport中的確切參數名稱。 c。選擇報告和參數,不需要選擇「綁定到模塊」

將報告的.jasper文件複製到SugarCRM的custom/zuckerreports2/resources中。 轉到「按需報告」,選擇報告並顯示參數。

你去那裏! :)