excel報表軟體FineReport中如何設置視圖樹超鏈

我們有時希望可以在頁面左邊顯示視圖樹,右邊顯示子模板,根據動態樹節點的不同,動態的顯示子模板,如何進行設置呢?下面我們就通過excel報表軟體FineReport來進行介紹。

工具/原料

excel報表軟體FineReport7.1.1
大小:148.2M 適用平台:windows/linux

方法/步驟

子模板準備

該示例中準備了一張子模板,模板數據集為內置數據集,如下圖:。

定義了一個數據集參數para,默認值設為「1」,根據參數選出對應職務的員工:

給A2單元格添加公式過濾條件,公式為:sql("FRDemo", "select 部門名稱 from 公司部門 where 部門ID='" + para + "'", 1),表示根據para參數值查詢出公司部門數據表對應的部門名稱,然後使用該參數過濾職務欄位,即只顯示職務為部門名稱的數據。

主模板的設置

視圖樹控制項設置

首先添加添加模板數據集,SQL為:SELECT * FROM [公司部門]。

在模板中添加一個視圖樹控制項,構建樹,構建方式選擇自動構建,完成之後如下圖:

屬性設置

設置視圖樹類型為單選視圖樹,如下圖:

設置只返回葉子節點,並使其返回數據為當前選中數據,而不是層次路徑。

點擊事件設置

給視圖樹添加點擊事件,如下圖:

js代碼如下:

var b = this.getValue();

var url = "/WebReport/ReportServer?reportlet=doc/Primary/widgetreport/son.cpt&__showtoolbar__=false";

FR.doHyperlinkByPost(url,{para:b},'REPORT');

註:其中的REPORT就是網頁框的控制項名,doHyperlinkByPost中網頁框名字必須大寫。

註:視圖樹返回的值類型為數組,直接用index獲取值就行,不需要使用split函數。

doHyperlinkByPost(url, para, target, feature)

para參數為json格式,target表示要打開url的窗口,如上,即表示在REPORT網頁框中打開,還可以在feature參數中設置窗口屬性,比如說打開窗口的大小,則表示為doHyperlinkByPost(url, para, target, "600,600,")

類似於doHyperlinkByPost(url, para, target, feature)使用post方式傳遞模板,還可以使用get方式傳遞,其接口為doHyperlinkByGet(url, para, target, feature),也可以使用doHyperlinkByGet4Reportlet(url,para,target,featrue)方法。

網頁框控制項設置

效果查看

在主模板中點擊數據分析預覽,就可以看到效果了。

原作者:FineReport

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場