动态隐藏导出excel功能键

一些客户因为报表自身数据量大,页面上分页过多,所以当用户对这样的报表导出excel的时候,花费的时间会相对长一些,而且导出excel的sheet页也非常的多,这样的excel导出以后不方便查看,也没有什么意义,所以希望在报表中动态的根据页面的数据条数,决定是否给客户导出excel的权限。动态隐藏按钮。

第一步:Api的设置
在页面上判断大致数据条数的方法为:
var tab = document.getElementById(”report1″).rows.length ;
这样可以取到当前页面上有多少行数据,如果数据量很多,分页很多的话,可以通过下面的办法大致的计算出总页数:
var rows = tab*parseInt(report1_getTotalPage());
根据上面这个数据条数就可以动态的隐藏或显示导出excel的按钮了,具体的做法如下:
if(parseInt(rows)>=30){
document.getElementById(”excel”).style.display=”none”;
}

完整的js代码如下:
<script language=”javascript”>
window.onload=function show()
{
var tab = document.getElementById(”report1″).rows.length ;

var rows = tab*parseInt(report1_getTotalPage());

if(parseInt(rows)>=150){
document.getElementById(”excel”).style.display=”none”;
}
retrun true;
}
</script>

第二步:修改tool.jsp
修改toolbar.jsp,给导出excel的按钮加一个id,具体如下:
<a href=”#” onClick=”report1_saveAsExcel();return false;” id=”excel”><%=excelImage%></a>

因为隐藏或显示导出excel的按钮需要在第一次展现报表的时候就生效,所以需要让js在window.onload的时候就被调用。

第三步:web发布

当页面数据为300条时,也就是在报表中写表达式=to(1,300),导出excel按钮被隐藏,如下图所示:

但页面数据为100条时,也就是在报表中写表达式=to(1,100),导出excel的按钮存在,如下图所示:

这样就实现了动态的根据页面数据条数来显示隐藏导出excel的功能了。

本文标签: