皕杰报表局部刷新页面实例
皕杰报表本身不含定时刷新功能,皕杰报表在web端可以加载到iframe中显示,那我们就可以用js刷新iframe来实现定时刷新。
1.准备一个测试报表,报表名为dssx,为了数据实时性,我获取系统日期来生成测试数据并生成图表
图表设计
2.将这个brt放到web应用下 WEB-inf/reports目录下(web端配置的报表存放根目录)。
3.修改config.xml里的runmode节点值为develop(开发模式,不启用报表缓存功能,实时刷新数据和报表模板,方便开发调试。)
4.在web应用下创建一下新的html,内容如下:
〈html>
〈head>
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8">
〈style>
body{ text-align:center}
#rpt_div{margin:0 auto;border:1px solid #000;}
〈/style>
〈script language="javascript">
var chatIframeTimer = setInterval("chatIframeReload()",5000);//1000为1秒钟
function chatIframeReload()
{
document.getElementById('params_tbl').contentWindow.location.reload(true);
}
function chatIframeStop()
{
if(chatIframeTimer)
{
window.clearTimeout(chatIframeTimer);
}
}
〈/script>
〈/head>
〈body style="margin:10px;">
〈div id="rpt_div1">〈H1>局部刷新测试2019-5-27〈/H1>
〈p>〈button type="button" onclick='chatIframeReload()'>开始刷新〈/button> 〈button type="button" onclick='chatIframeStop()'>结束刷新〈/button>〈/p>
〈/div>
〈div id="rpt_div" style='width:600px;height:400px'>
〈iframe id="params_tbl" src="ReportEmitter?rpt=dssx.brt" scrolling="auto" style='width:100%;height:100%' frameborder="0" />
〈/div>
〈/body>
〈/html>
5.启动报表web应用并访问这个html文件。
点击 开始刷新按钮
每过5秒皕杰报表所在div就刷新一次,并且表格数据和图表中的数据一致。
请先 后发表评论~