可树形展开的折叠报表的制作
润乾报表最终在页面上是以纯html方式进行展现的,也就是说,是一个静态页面。那么,当最终用户需要web报表中提供一些交互能力时,就需要结合javascript脚本来实现。比如下图中这样的折叠报表(单击加号可以展开分组),就可以用润乾报表来设计报表模板,再结合简单的javascript脚本即可实现。
实现思路:报表在网页上展示时,整体是一个HTML的table对象。因此可以在单元格中加入一些标识,然后通过javascript动态设置css的display属性来实现。
具体实现:
报表设计如下图所示:
重点是前三列:
第一列用来显示折叠或展开的图标,在A3单元格的HTML事件属性中写入表达式(多级展开的情况以此类推):”OnClick=\”changeNodeState(”+B3+”)\””
第二列用来保存每一行的标识(这个标识应该是全表唯一的),B4单元格中写有表达式D4,为了美观,这里将其设置为了白色;
第三列用于存自己所属的父级标识,处于根级的行保留空值即可,该列整体设置为隐藏。
javascript处理部分如下,在发布报表的jsp中加入代码即可:
<script language=”javascript”>
var tree;
function init(){
/** 构建一个树实例, 参数分别为:
* 报表名–对应report标签中的name
* 唯一标识所在列–第一列为0,以此类推,下同
* 父级所在列
* 用于显示图标的列
* 表头所占行
*/
tree = new TableTree(”report1″,1,2,0,2);
tree.init(); // 初始化数据
tree.collapseAll(); // 折叠所有 }
function changeNodeState(node){ // 更改节点状态,展开/折叠
var node = tree.getNode(node);
if(node.isOpened())
node.collapseAll();
else
node.expand();
}
</script>
<body onload=”init()”>
引自:润乾技术知识库
相关文章:在润乾参数表单中如何不点击查询按钮自动传参;关于润乾报表自定义函数报错的问题 ;决策分析解决方案 ;润乾报表填报处理类问题
其他相关内容:润乾报表 ; RAQSOFT ; 报表工具知识库 ; 商业智能专业知识库