润乾集算报表交互分析之伸缩显示
来源:互联网 发布:windows pe 编辑:程序博客网 时间:2024/06/06 20:42
报表交互分析中经常会使用伸缩(折叠)显示功能,使用润乾集算报表可以完成报表展现伸缩功能。集算报表内置了伸缩功能,但对报表格式有要求,下面来看一下使用过程。
报表是要求带有合计行的分组交叉报表,如下图示效果:
完成类似的伸缩功能在集算报表中很简单,只需要两步,设计报表,加入tag属性。首先,报表模板制作如下:
其中,数据源使用自带的demo;数据集ds1为:SELECT 订单.货主地区,订单.货主城市,订单.运货费,订单.订单ID,订单明细.单价,订单明细.数量 FROM 订单,订单明细 where 订单.货主地区!=” and 订单.订单ID=订单明细.订单ID
准备页面,使用安装包自带的showReport.jsp,并在report:html标签中加入isOlap=”yes”属性,如下:
<report:html name=”report1″ reportFileName=”<%=report%>”
funcBarLocation=”"
needPageMark=”yes”
generateParamForm=”no”
params=”<%=param.toString()%>”
isOlap=”yes”
/>
启动应用,使用该页面访问报表即可实现开篇的效果。
这里可以看到使用内置的伸缩功能非常简单快捷,但对报表样式有所限制。如果对其他格式报表也需要伸缩展现,可以通过编写JS脚本实现,集算报表提供了相关属性和接口供用户自定义JS使用。下面来看另外一种实现方式。
以分组汇总报表为例,目标报表样式如下:
要求:点击地区前减号或加号完成相应地区内城市数据的折叠或展开。
首先准备相应分组报表,模板如下:
设置A2的HTML事件:
HTML事件表达式为:”onClick=showHidden(\’”+row()+”\’,\’”+ds1.dcount(货主城市)+”\’)”,这里单击事件调用showHidden函数,并传递当前行号和当前分组成员数量。
showHidden函数实现思路是根据点击行和分组成员数,依次获取该分组成员所在行,再设置其行显示属性为隐藏或显示。
showHidden函数内容如下:
function showHidden(row,groupNum){
var rn = parseInt(row); //当前行号
var gn = parseInt(groupNum); //分组成员数
var flagObj = document.getElementById(“report1_A”+rn); //+-号所在单元格
for (var i=rn+1;i<=rn+gn;i++){
var obj = document.getElementById(“report1_C”+i).parentNode; /获取分组成员所在行TR
var disp = obj.style.display;
if(disp==null || disp==”"){//设置TR折叠
obj.style.display=”none”;
flagObj.innerHTML=”+”;
}else{//设置TR展开
obj.style.display=”";
flagObj.innerHTML=”-”;
}
}
}
使用JSP发布报表,即可实现上述折叠报表效果。实际使用中,由于用户的报表不尽相同,实现上也略有差异。集算报表支持HTML事件并可以传递报表内容给自定义JS函数,实现非常灵活。
- 润乾集算报表交互分析之伸缩显示
- 润乾集算交互分析之可钻取统计图
- flash 与交互:鼠标交互-拖动伸缩
- 文本阅读伸缩显示
- [标准报表]易飞标准报表之UDF字段显示
- 交互控制层之界面交互子层分析
- Android前台界面之详解TextView内容任意长度的伸缩、显示与隐藏
- SAP ABAP/4学习---报表分析分组显示
- ecstore关于后台桌面运营分析报表显示空白
- 【机房收费系统】VB与grid++report交互(如何让数据以报表格式显示)
- 报表分析
- 报表分析
- 化工企业数据分析报表系统项目之销售模块分析
- 搜狐视频协议分析之Tracker交互协议分析 [20161113]
- 伸缩布局之是否换行
- 水晶报表带子报表显示
- Asp.Net水晶报表边框不显示之解决方法
- 即时报表Flex工具条使用之过滤显示数据
- 面向对象高级——接口的基本概念和对象的多态性
- c#中out ref的简单使用说明
- 润乾集算报表实现参数联动效果
- typedef定义结构体变量中的问题及解决方法
- 【html】:学习html的见解
- 润乾集算报表交互分析之伸缩显示
- jQuery对AJAX的封装——$.get(验证用户名是否存在)
- kindeditor使用方法
- 数据结构-链表
- OpenCV统计时间
- hello
- SQL双top分页存储过程
- Minimum Size Subarray Sum
- Spring 整合 Redis