博计报表数据量过大时隐藏导出按钮


博计报表数据量过大时隐藏导出按钮


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


实现思路:


这个问题可以通过判断页面数据条数,也就是一共有多少条数据,然后通过js动态的实现隐藏和显示导出excel的按钮。


实现方法:


在页面上判断大致数据条数的方法为:


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”;


} 


  return true;


}


</script>


 


修改toolbar.aspx,给导出excel的按钮加一个id,具体如下:


<a href=”#” onClick=”report1_saveAsExcel();return false;” id=”excel”><%=excelImage%></a>


 


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


将这段js加入到aspx中,然后用aspx发布报表,就可以看到效果,当页面数据为300条时,也就是在报表中写表达式=to(1,300),导出excel按钮被隐藏,如下图所示:



 


 


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



 


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


 


浏览次数:0 ; 发布日期:2011/06/13

热门文章

  • 申请试用授权 - 49,853 views
  • 使用入门教程简介 - 30,987 views
  • .NET报表产品概况 - 27,730 views
  • 联系我们 - 13,867 views
  • 技术支持 - 10,185 views
  • 高效报表设计 - 9,033 views
  • Web报表工具的新起点 - 7,563 views
  • 复杂报表的制作 - 7,033 views
  • Web报表软件的采购成本 - 6,530 views
  • Web报表软件的集成方案 - 5,075 views