多语言展示
当前在线:823今日阅读:19今日分享:20

excel报表工具FineReport中如何设置视图树超链

我们有时希望可以在页面左边显示视图树,右边显示子模板,根据动态树节点的不同,动态的显示子模板,如何进行设置呢?下面我们就通过excel报表工具FineReport来进行介绍。
工具/原料
1

excel报表工具FineReport7.1.1

2

大小:148.2M 适用平台:windows/linux

方法/步骤
1

子模板准备该示例中准备了一张子模板,模板数据集为内置数据集,如下图:。

2

定义了一个数据集参数para,默认值设为“1”,根据参数选出对应职务的员工:给A2单元格添加公式过滤条件,公式为:sql('FRDemo', 'select 部门名称 from 公司部门 where 部门ID='' + para + ''', 1),表示根据para部门数据表对应的部门名称,然后使用该参数过滤职务字段,即只显示职务为部门名称的数据。

3

主模板的设置视图树控件设置首先添加添加模板数据集,SQL为:SELECT * FROM [公司部门]。在模板中添加一个视图树控件,构建树,构建方式选择自动构建,完成之后如下图:

4

属性设置设置视图树类型为单选视图树,如下图:设置只返回叶子节点,并使其返回数据为当前选中数据,而不是层次路径。

5

点击事件设置给视图树添加点击事件,如下图:

6

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函数。

7

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)方法。

9

效果查看在主模板中点击数据分析预览,就可以看到效果了。

推荐信息