JS 实现点击按钮实现超链接功能

url = '/webroot/decision/view/report?viewlet=InshipOutship/Outship.frm';

新窗口打开报表:window.open(FR.cjkEncode(url)); 


当前窗口打开报表:window.location = "${servletURL}?viewlet=InshipOutship/consume2_sub_LTPS.frm" ;//在新标签页打开报表

 

1. 描述

 

用户想通过点击按钮实现单元格中超链接-动态参数的效果:

https://help.finereport.com/uploads/201811/1542183686tbdPxQkM.gif

 

2. 思路

 

 

2.1 超链接-动态参数

 

按钮点击事件使用下面的js代码:

$.ajax({

               url: '/webroot/decision/view/form?op=fr_dialog&cmd=parameters_d',

               type: 'POST',

               data: {

                               "area": "华东" //参数area传递值“华东”

               },

               headers: {

                               sessionID: session // 参数session传递值sessionID

               },

               complete: function(res, status) {

                               if (window.FR && FR.Chart && FR.Chart.WebUtils) {

                                              FR.Chart.WebUtils.clearCharts();

                               }

                               _g().loadContentPane();

               }

});

 

9.0使用下面的代码:

$.ajax({

               url: '/WebReport/ReportServer?op=fr_dialog&cmd=parameters_d&sessionID=' + session, // 参数session传递值sessionID

               type: 'POST',

               data: {

                               "area": "华东" //参数area传递值“华东”

               },

               complete: function(res, status) {

                               if (window.FR && FR.Chart && FR.Chart.WebUtils) {

                                              FR.Chart.WebUtils.clearCharts();

                               }

                               _g().loadContentPane();

               }

});

2.2 超链接-当前表单对象

超链接-当前表单对象报表块使用下面的js代码:

_g().getWidgetByName('REPORT1').gotoPage(1, { "area": "华北" }, 'T'); //参数area传递值“华北”

超链接-当前表单对象图表使用下面的js代码:

FR.Chart.WebUtils.changeParameter(

               'chart0', {

                               "area": "华北" //参数area传递值“华北”

               }

);

注:超链接-当前表单对象对报表块和图表和js代码不同,根据需要使用对应的代码即可。

3. 示例一:超链接-动态参数

 

 

3.1 添加数据集查询

 

新建一个决策报表,添加数据集ds1:

https://help.finereport.com/uploads/201811/1542184572lNk0vnQj.png

 

3.2 设计决策报表

 

在body中添加两个按钮控件,控件名称分别为华东、华北,添加一个报表块控件,将ds1数据集字段拖入单元格中,模板设计界面如下:

https://help.finereport.com/uploads/201811/1542197772mxV7iobB.png

3.3 添加点击事件

选中华东按钮button0控件,添加点击事件,在点击事件的右上角添加两个参数:session和area,值分别为公式:sessionID、字符串:华东,如下图:

 

https://help.finereport.com/uploads/201811/1542197981BFw1dPSy.png
js代码如下:

$.ajax({

               url: '/webroot/decision/view/form?op=fr_dialog&cmd=parameters_d',

               type: 'POST',

               data: {

                               "area": area //给area参数赋值

               },

               headers: {

                               sessionID: session

               },

               complete: function(res, status) {

                               if (window.FR && FR.Chart && FR.Chart.WebUtils) {

                                              FR.Chart.WebUtils.clearCharts();

                               }

                               _g().loadContentPane();

               }

});

同理华北按钮同样添加点击事件,js代码一样,需将参数area的值改为华北。
https://help.finereport.com/uploads/201811/1542198493td8JRAjM.png

保存模板,预览报表即可。

4. 示例二:超链接-当前表单对象

 

 

4.1 添加数据集查询

 

新建一个决策报表,添加数据集ds1:

https://help.finereport.com/uploads/201811/20181120162847_8410.png

 

4.2 设计决策报表

 

在body中添加两个按钮控件button0、button1,控件名称分别为超链接-报表块、超链接-图表,添加一个报表块控件、一个饼图图表,将ds1数据集字段拖入单元格中,模板设计界面如下:

https://help.finereport.com/uploads/201811/1542701985r3yOgzva.png

饼图设置如下:

https://help.finereport.com/uploads/201811/1542702003w5pN4SIG.png

4.3 添加点击事件

选中超链接-报表块按钮button0控件,添加点击事件,在点击事件的右上角添加参数:area,值为字符串:华北,如下图:

https://help.finereport.com/uploads/201811/1542702198VvbLV7Py.png
js代码如下:

_g().getWidgetByName('report0').gotoPage(1, {

               "area": area

}, 'T');

选中超链接-图表按钮button1控件,添加点击事件,在点击事件的右上角添加参数:area,值为字符串:华北,如下图:
https://help.finereport.com/uploads/201811/1542702333eXN5ICPP.png
js代码如下:

FR.Chart.WebUtils.changeParameter(

               'chart0', {

                               "area": area,

               }

);

保存模板,预览报表即可。

 

5. 预览效果

 

 

5.1 PC端预览效果

 

1)示例一:超链接-动态参数

https://help.finereport.com/uploads/201811/1542183730ledEREJ4.gif

2)示例二:超链接-当前报表对象

https://help.finereport.com/uploads/201811/1542702754L80bbvfU.gif

 

5.2 移动端预览效果

 

不支持移动端

 

6. 已完成模板

示例一:

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\28-js实现超链接-动态参数.frm

右击存储模板 

示例二:

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\28-js实现超链接-当前表单对象.frm

右击存储模板

 

标签: 暂无标签 编辑/添加标签

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值