« 报表页面自动刷新属性 »
Tools » http://www.anysql.net/tools/webchart-auto-reload-page.html 2009-12-04以前一直是我自已在用DataReport展示数据, 如今天随着数据越来越多, 我的同事也开始使用DataReport来展示数据了. 在他们使用的过程中, 渐渐显示出某些需要改进和完善的地方. 对于我的同事来讲, 编辑报表定义文件已不是问题, 但编辑用于控制报表显示的XSL文件则相当痛苦, 我也充分理解这种痛苦.
比如让页面隔一定时间自动刷新的功能, 几经思量, 终于想出了一个解决的方法, 在报表定义中新增了一个属性.
WEBCHART.RELOAD=Refresh Time|Reload URL
比如在报表定义文件中加入如下一行.
WEBCHART.RELOAD=30|$REQUEST.FILE$?PDAY=$PDAY
在生成的XML数据流中, 就会有如下数据.
<reload time=”30″>test.rhtml?PDAY=20091204</reload>
在XSL文件中, 就可以用统一的方式进行HTML转换.
……
<xsl:apply-templates select=”reload” />
……
<xsl:template match=”reload” >
<script language=”JavaScript”>
window.timer=window.setTimeout(
‘window.location.href=”<xsl:value-of select=”.” />”;’,
<xsl:value-of select=”@time” /> * 1000);
</script>
</xsl:template>
……
将原本需要在XSL中定义的内容, 移到报表定义文件的属性中, 增加XSL文件的通用性.


Recent Comments