使用FineReportJava報表工具超級鏈接的時候,有時會遇到主表里用到的參數(shù),需要通過超級鏈接傳到子表里去,如果主表的參數(shù)名與子表參數(shù)名相同,可以通過超級鏈接窗口下端的繼承報表的參數(shù)選項簡單的解決這個問題。下面以一個簡單例子說明
1. 創(chuàng)建子表模板accede2
打開設(shè)計器,新建工作簿,添加數(shù)據(jù)集ds1,SQL為SELECT * FROM SALES_BASIC,添加報表參數(shù)地區(qū)和類型,表單設(shè)計如下圖:
B2添加過濾條件:產(chǎn)品類型等于$類型
A3添加過濾條件:地區(qū)等于$地區(qū)
A1輸入的值為:=$地區(qū) + $類型 + "類型銷售表"
保存模板到%FR_HOME%\WebReport\WEB-INF\reportlets\accede2.cpt
2. 創(chuàng)建主表模板accede1
新建工作簿,添加數(shù)據(jù)集ds1,SQL為SELECT * FROM SALES_BASIC,添加報表參數(shù)地區(qū),表單設(shè)計如下圖:
B1添加過濾條件:地區(qū)等于$地區(qū)
A3設(shè)置左父格為:B1
設(shè)置參數(shù)界面如下圖,其中B2控件設(shè)置為下拉框
3. 設(shè)置超級鏈接
右擊B2單元格,選擇超級鏈接,彈出超級鏈接窗口,添加網(wǎng)絡(luò)報表,選擇網(wǎng)絡(luò)報表為accede2.cpt,單擊網(wǎng)絡(luò)報表參數(shù),并選定繼承報表的參數(shù),效果如下圖:
網(wǎng)絡(luò)報表參數(shù)按鈕:點擊,則自動添加所選網(wǎng)絡(luò)報表的所有參數(shù),例子中自動添加accede2.cpt的所以參數(shù),即$地區(qū)和$類型
繼承報表的參數(shù):選定后,將主表中的參數(shù)值傳遞給子表的同名參數(shù),例子中將主表中參數(shù)$地區(qū)傳遞給子表
刪除參數(shù)地區(qū),編輯參數(shù)類型的值為B2,如圖:
雖然刪除了參數(shù)地區(qū),因為選定了繼承報表的參數(shù),所以參數(shù)地區(qū)仍能傳入子表
保存模板到%FR_HOME%\WebReport\WEB-INF\reportlets\accede1.cpt
4. 預(yù)覽
分頁預(yù)覽主表,地區(qū)選擇江蘇,效果如圖
點擊數(shù)碼產(chǎn)品,效果如圖:
文章轉(zhuǎn)自:http://blog.vsharing.com/fanfanzheng/A1360586.html
了解Java報表工具就從這里開始