编程问答
快逸报表参数查询前报表不显示 -凯发ag旗舰厅登录网址下载
前言
大家还在为不进行条件查询数据报表不显示这个需求苦苦挣扎着实现吗?以往我们用的方法都是在参数模板(参数报表)中增加一个标志位参数,主报表若能接收该参数,证明已经进行了查询,否则认为初次加载,再拼给数据集一个恒假的sql让其查不出数据。若需要初次加载将整个主表隐藏,则还要写行隐藏表达式。如果存在多张这样的报表,工作量还是有点大的~~
是否存在一种简单、通用的方法解决上述问题呢?答案是肯定的。
分析
先了解一下润乾报表工具的参数传递过程,首先在参数报表中输入参数点击查询,此时在内存中创建一个存有所有参数信息的参数缓冲池,该缓冲池的id以reportparamsid变量标识,报表引擎根据reportparamsid去内存中取相应参数值,最后计算得出查询结果。
这个过程给了我们很好的启示,既然点击查询才会产生这个参数缓冲池,不查不创建,那就可以根据参数缓冲池的创建状态来判断是否是初次加载了。
实现
在发布报表工具的标签前面增加如下判断:
string reportparamsid=request.getparameter(“reportparamsid”); //取得参数缓存的标识号
if(!”".equals(reportparamsid) && reportparamsid != null){
%>
funcbarlocation=”top”
needpagemark=”yes” generateparamform=”no” params=”" /> |
}
%>
当参数缓存id为空时,不发布主报表。
说明
此方法较通用,适用于要求页面初次加载时主报表完全不显示的需求,若要求主表存在但不查询数据,还应使用原始的动态宏判断的方式。
出处:http://www.quiee.com.cn/archives/3138/
转载于:https://blog.51cto.com/4887541/877969
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的快逸报表参数查询前报表不显示的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇:
- 下一篇: