文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何实现参数和报表间的联动效果

2023-06-02 17:54

关注

在交互分析中,报表经常需要根据参数进行实时变化。也就是“参数联动”效果,下面就通过一个例子说明润乾报表是如何实现这种需求的。

页面的左侧为参数输入区域,右侧的数据报表需要根据参数实时查询结果,效果如下图:

如何实现参数和报表间的联动效果

实现步骤:

1 准备报表

连接默认的 demo 数据源,制作如下报表:

如何实现参数和报表间的联动效果

其中,报表参数为:

如何实现参数和报表间的联动效果

用于接收地区和城市参数。

报表数据集为:

如何实现参数和报表间的联动效果

如何实现参数和报表间的联动效果

2 定义参数输入

定义参数输入页面,如下:

<html><head></head><body><table border="1" cellpadding="0" cellspacing="0" width="100%" height="100%"><tr><td valign="top"  align="center" width="10%"><a >请选择参数:</a><br><br><form><select name="area" onChange="change(1,this.options\[this.selectedIndex\].value)"><option value="华北" selected="selected">华北</option><option value="东北">东北</option><option value="华南">华南</option><option value="华东">华东</option></select><br><br><select name="city" onChange="change(2,this.options\[this.selectedIndex\].value)"><option value="北京">北京</option><option value="天津">天津</option><option value="上海">上海</option><option value="长春">长春</option></select></form></td><td width="90%"><iframe width="100%" height="100%" frameborder="0" align="left" src="autoQuery.jsp?rpx=demo.rpx&area=华北&city=北京" scrolling="auto" id="report" name="report"></td></tr><table></body></html>

<html> <head> </head> <body> <table border="1" cellpadding="0" cellspacing="0" width="100%" height="100%"> <tr> <td valign="top"  align="center" width="10%"> <a >请选择参数:</a><br><br> <form> <select name="area" onChange="change(1,this.options\[this.selectedIndex\].value)"> <option value="华北" selected="selected">华北</option> <option value="东北">东北</option> <option value="华南">华南</option> <option value="华东">华东</option> </select> <br><br> <select name="city" onChange="change(2,this.options\[this.selectedIndex\].value)"> <option value="北京">北京</option> <option value="天津">天津</option> <option value="上海">上海</option> <option value="长春">长春</option> </select> </form> </td> <td width="90%"> <iframe width="100%" height="100%" frameborder="0" align="left" src="autoQuery.jsp?rpx=demo.rpx&area=华北&city=北京" scrolling="auto" id="report" name="report"> </td> </tr> <table> </body> </html>

其中,数据报表采用 iframe 嵌入,发布报表的 showReport.jsp 在润乾报表的安装包中。这里需要定义下拉框的 onChange 事件。加入以下 JS 代码:

<script type="text/javascript">function change(type,value){var url = parent.document.getElementById("report").src;var arr = url.split("&");var area = arr\[1\].split("=")\[1\];var city = arr\[2\].split("=")\[1\];if(type==1) area=value;if(type==2) city=value;document.getElementById("report").src="showReport.jsp?rpx=demo.rpx&area="+area+"&city="+city}</script>

<script type="text/javascript"> function change(type,value){ var url = parent.document.getElementById("report").src; var arr = url.split("&"); var area = arr\[1\].split("=")\[1\]; var city = arr\[2\].split("=")\[1\]; if(type==1) area=value; if(type==2) city=value; document.getElementById("report").src="showReport.jsp?rpx=demo.rpx&area="+area+"&city="+city } </script>

这样,在选择参数后会触发 onChange 事件,通过自动修改 iframe 的 src 属性即可实现联动查询效果。

详情链接:http://c.raqsoft.com.cn/article/1554689324200?r=gxy

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯