报表实时显示时间

简介: 报表实时显示时间

报表,除了相对静态地展现汇总统计数据以及分布、趋势等数据内容外,也可以用于显示和时间相关的即时信息,包括实时显示时间。例如,下面这个设备监控应用统系中,首页除了显示实时监控数据外,还需要在右上角显示实时时间:
1

这种形式的“动态报表”其实在我们生活中也随处可见,最常见的就是火车站大屏幕上的列车时刻表,上面显示的当前时间,让旅客能够一目了然地知道自己的列车还有多长时间开,等待的列车什么时候到。
2

其实,要在报表中做到上面的效果很简单,基本思路就是让页面定时(比如每隔一秒钟)调用 JS 方法,在 JS 中通过单元格的 ID 获取到显示时间的那个格子,将当前时间作为这个格子的新值显示就可以了。

下面,我们就具体看看如何通过润乾报表实现这样司空见惯的动态显示时间效果。
1、设置报表单元格表达式
前面第一个图是在润乾报表设计器自带的报表“设备故障分析.rpx”的基础上实现的,接下来我们就用这个报表作为例子进行说明。我们首先在自带报表中添加时间,合并 N4、O4 单元格,并在该合并格中设置单元格表达式 =string(now(),”yyyy 年 MM 月 dd 日 hh:MM:ss”)。
3

2、设置 JSP 页面标签
然后,我们打开报表展现页面 showReport.jsp,在这个页面中设置标签属性 generateCellId,以便报表单元格在页面生成格子的 ID。
打开原始的报表展现页面,我们发现设置当前时间的单元格,并没有生成对应的 ID,如下图所示:
4

为了在 JS 脚本中能够通过 ID 可以获得到该单元格,以便修改该单元格的值,我们需要在展现的页面中添加标签属性 generateCellId=”yes”,如下图所示:
5

设置了该属性后,我们可以在页面中可以看到,该单元格生成了对应的 id 值:

3、设置页面 JS 方法
接下来,我们在在报表展现的页面中添加动态改变单元格值的 JS 方法 myrefresh(), 在这个方法中通过单元格的 ID 动态改变该单元格中的显示时间,同时通过 setTimeout() 在 1 秒后调用函数 myrefresh。由于 setTimeout()函数只会被调用一次,所以我们还需要在 myrefresh() 函数体中也加上这个函数,从而达到循环调用的效果,下面是具体的 JS 方法:
function myrefresh()
{
var tbl = document.getElementById(“report1_N12”);
var myDate = new Date();
tbl.innerHTML=myDate.toLocaleString( );
setTimeout(‘myrefresh()’,1000);
}
setTimeout(‘myrefresh()’,1000);
4、预览页面效果
. 这样,经过以上的简单设置,我们就可以在 showReport.jsp 页面中展现“设备故障分析.rpx”报表,并且在页面上方看到实时变化的时间了,页面效果如下:
6

通过这个简单的例子,我们知道,就像开篇所说,报表不仅能够呈现固定的统计汇总数据,还有相当不错的动态展示能力。我们在这里使用的定时调用 JS 改变单元格的值的方式,可以实现页面局部内容的动态变化,而且没有闪烁刷新,毫无违和感!
怎么样,意不意外?惊不惊喜?让我们赶紧撸起袖子利用报表让数据展现更加丰富起来吧!

作者:shiguang
链接:http://c.raqsoft.com.cn/article/1533395680659?r=IBelieve
来源:乾学院
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
JSON 数据可视化 数据挖掘
报表定制系统,让报表随需而动
报表定制系统,让报表随需而动
|
SQL 存储 Java
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(四)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(四)
|
XML 存储 开发框架
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(三)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(三)
|
存储 Java BI
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(一)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(一)
|
存储 Web App开发 JavaScript
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(二)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(二)
|
SQL 存储 缓存
怎样提高报表呈现的性能?
报表的性能很重要,是一个总被谈及的问题,跑的慢的报表用户体验恶劣,无法忍受。解决这些慢的性能问题,也成了项目方和工程师头疼的事情。一出状况,就得安排技术好的,能力强的工程师去救火,本来利润就薄,还得不断的追加人工成本,而且工程师有时候也无能为力,并不是所有的性能问题都能靠程序员能力解决的 这个总会让人头疼的问题没办法解决吗?没有好的方法去提升性能了吗? 解决这个问题之前,我们得先理清楚问题的根源,是什么导致了报表的性能问题,找到根源,我们才能对症下药,才能治本
141 0
|
小程序 数据库
小程序评论怎么实时显示数据
小程序评论怎么实时显示数据
344 0
小程序评论怎么实时显示数据
|
数据采集 BI
数据采集录入填报时如何只更新当前修改行
在实际的项目开发中,填报表的应用十分广泛。 多数情况下,填报表会作为整个项目的一部分配合需求灵活使用,下面就举例介绍一下。 要求: 当前用户在页面上修改了某行数据,报表自动将用户名更新到这些行的【操作人】字段,但在报表展现内容中不要显示。
|
存储 SQL 关系型数据库