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