报表实时显示时间

简介:

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

21

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

22

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

下面,我们就具体看看如何通过润乾报表实现这样司空见惯的动态显示时间效果。

1、设置报表单元格表达式

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

23

2、设置JSP页面标签

然后,我们打开报表展现页面showReport.jsp,在这个页面中设置标签属性generateCellId,以便报表单元格在页面生成格子的ID。

打开原始的报表展现页面,我们发现设置当前时间的单元格,并没有生成对应的ID,如下图所示:

24

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

25

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

26

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”报表,并且在页面上方看到实时变化的时间了,页面效果如下:

27

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

怎么样,意不意外?惊不惊喜?让我们赶紧撸起袖子利用报表让数据展现更加丰富起来吧!

转载请注明:润乾技术博客 » 报表实时显示时间

相关文章
|
4月前
|
数据挖掘 UED
功能发布-事件分析之漏斗分析
漏斗分析是基于事件的一种分析模型。 漏斗分析主要是对一个多步骤的场景进行的每一步的转化数据分析。可以理解为是从顶部(广泛数据)到底部(目标数据)逐步筛选和转化分析的过程。
功能发布-事件分析之漏斗分析
|
存储 JSON 数据可视化
数据可视化大屏电商数据展示平台开发实录(Echarts柱图曲线图、mysql筛选统计语句、时间计算、大数据量统计)
数据可视化大屏电商数据展示平台开发实录(Echarts柱图曲线图、mysql筛选统计语句、时间计算、大数据量统计)
596 0
|
JSON 数据可视化 数据挖掘
报表定制系统,让报表随需而动
报表定制系统,让报表随需而动
|
XML 存储 开发框架
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(三)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(三)
|
存储 Web App开发 JavaScript
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(二)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(二)
|
存储 Java BI
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(一)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(一)
|
SQL 存储 Java
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(四)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)
传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)(四)
|
SQL 存储 缓存
怎样提高报表呈现的性能?
报表的性能很重要,是一个总被谈及的问题,跑的慢的报表用户体验恶劣,无法忍受。解决这些慢的性能问题,也成了项目方和工程师头疼的事情。一出状况,就得安排技术好的,能力强的工程师去救火,本来利润就薄,还得不断的追加人工成本,而且工程师有时候也无能为力,并不是所有的性能问题都能靠程序员能力解决的 这个总会让人头疼的问题没办法解决吗?没有好的方法去提升性能了吗? 解决这个问题之前,我们得先理清楚问题的根源,是什么导致了报表的性能问题,找到根源,我们才能对症下药,才能治本
163 0
|
小程序 数据库
小程序评论怎么实时显示数据
小程序评论怎么实时显示数据
356 0
小程序评论怎么实时显示数据