Posts Tagged ‘折叠报表’

可树形展开的折叠报表的制作

07.06.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表最终在页面上是以纯html方式进行展现的,也就是说,是一个静态页面。那么,当最终用户需要web报表中提供一些交互能力时,就需要结合 javascript脚本来实现。比如下图中这样的折叠报表(单击加号可以展开分组),就可以用润乾报表来设计报表模板,再结合简单的 javascript脚本即可实现。

1.png

实现思路:报表在网页上展示时,整体是一个HTML的table对象。因此可以在单元格中加入一些标识,然后通过javascript动态设置css的display属性来实现。

具体实现:

报表设计如下图所示:

2.png

重点是前三列:

第一列用来显示折叠或展开的图标,在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()”>

引自:润乾技术知识库
原文链接:可树形展开的折叠报表的制作
相关文章:在润乾参数表单中如何不点击查询按钮自动传参关于润乾报表自定义函数报错的问题决策分析解决方案润乾报表填报处理类问题

用免费的快逸报表怎么做折叠报表

06.27.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

最终用户常常需要web报表中提供一些交互的能力。比如下图中这样的折叠报表(单击加号可以展开分组),使用免费的快逸报表工具结合简单的javascript脚本即可实现。

使用快逸报表做的折叠报表

实现思路:报表在网页上展示时,整体是一个HTML的table对象。因此可以在单元格中加入一些标识,然后通过javascript动态设置css的display属性来实现。

具体实现:

报表设计如图:

“快逸折叠报表设计界面”

重点是前三列:

第一列用来显示折叠或展开的图标,在A3单元格的HTML事件中加入表达式(多级展开的情况以此类推):

“OnClick=\”changeNodeState(”+B3+”)\””

第二列用于保存每一行的标识(这个标识应该是全表唯一的),B4单元格中写有表达式D4,为了美观,要将其设置为白色了;

第三列用于存自己所属的父级标识,处于根级的行保留空值即可,该列整体隐藏。

另外,由于折叠时会造成报表最后一行的下边框消失(这是IE的问题),所以请追加一行,并将其填充为边框颜色,设置行高为1。

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()”>

……

引自:报表工具知识库
原文链接:用免费的快逸报表怎么做折叠报表
相关文章:使用javascript将页面中的关键字高亮显示 ; 报表折叠方案 ; 用快逸来实现Web应用中的下拉树;快逸报表:在jboss中部署报表的一个异常解决
其他相关内容:免费的web报表开发工具; 用.net报表工具打印报表; 研究.NET报表设计;web报表博客