Posted on 2015-05-11 17:25
FineReport——報表技術領跑者 閱讀(484)
評論(0) 編輯 收藏 所屬分類:
Java報表問題解答 、
Java報表制作
圖表制作FineReport單元格間聯動
1. 問題描述
在查看報表時,可能某列的數據比較重要或者內容比較多的情況下,希望點擊該行的某個數據時讓其詳細信息單獨顯示在數據的下方,并且不希望查數據庫,此時要如何處理呢?
如上圖,我們點擊訂單號,下面的收貨人地址顯示對應訂單號的貨主城市+貨主地址。
2. 實現思路
通過給單元格增加超級鏈接-JavaScript,在js中給下面對應的單元格賦值。
3. 示例
下面我們以一個例子為例來看下如何實現效果。
3.1 打開模板
打開模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\DetailReport\Details_1.cpt
3.2 增加數據列
如上圖所示將貨主地址拖入到H2單元格中,然后點擊高級>自定義顯示將其修改為:貨主城市+$$$即讓其顯示為"貨主城市+貨主地區",最后將該單元格的列寬設置為0。
注:"貨主城市+$$$"中的貨主城市是數據列。
3.3 固定單元格設置
由于要給單元格賦值并且在擴展數據的下方,因此若要在固定位置顯示值就要做如下幾個設置。
我們要讓每一頁固定顯示的條數相同,因此要給單元格增加行后分頁的條件屬性。
給A2單元格增加行后分頁的條件屬性,公式條件類型選擇公式,并在公式中輸入:(row()-1)%10 == 0 即每頁顯示10條擴展出的數據。
重復標題行:右擊行序號1,選擇設置重復標題行。
重復結尾行:選中3、4行,右擊選擇設置重復結尾行。
最終的表樣如下:
3.4 超級鏈接設置
下面我們要做的就是給A2單元格設置超級鏈接,使點擊A2單元格時,對應的隱藏的H2單元格的內容顯示在B4單元格中。
右擊A2單元格,選擇超級鏈接,點擊JavaScript,具體設置如下圖:
注:這邊是給BS端對應的單元格賦值,由于A2單元格是擴展的并且固定顯示10行數據,因此在模板中的B4單元格在BS端就是B13單元格了。
3.5 分頁預覽
點擊分頁預覽, 點擊對應的訂單ID可以看到下面的顯示的是對應的詳細收貨人地址,如上效果圖。
已完成的模板可參考:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\CellsRelate.cpt。