对于固定表头的报表-动态设置滚动条高度、宽度的解决方法



            问题出现的条件:报表在WEB页面输出的时候,行、列都很多,需要设置横向、纵向滚动条来固定报表表头。但是,由于报表输出的标签中指定的滚动条的宽度、高度都是一个指定的高度、宽度,而不能设置为一个按页面宽度高度的百分比。


例如:

       <report:html name=”report1″ reportFileName=”<%=raqpath%>”

                     …

                     needScroll=”yes”

                     scrollWidth=”300

                     scrollHeight=”200

                     …

       />

这样,就造成针对客户端不同的分辨率的显示器,滚动条的高度和宽度固定,对于分辨率小的机器,在页面上看不到滚动条,分辨率大的机器,滚动条右下方留出了很大的空白,这样造成页面不美观,影响用户体验。

因此,针对以上问题,结合项目经验,这里,抛砖引玉,提出一个简便易行的解决方法。

 

1.在客户访问一个报表页面之前,加一个redirect.jsp页面,里面加入一个js函数,来获取客户端浏览器窗口的大小:

<SCRIPT>

          var w = 0;  

        var h = 0;  

         //通过深入Document内部对body进行检测,获取浏览器窗口大小  

         if (document.documentElement&& document.documentElement.clientHeight && document.documentElement.clientWidth){  

             h = document.documentElement.clientHeight;  

             w = document.documentElement.clientWidth;  

         }else{

              w = 1259 ;

              h = 632 ;

         }    

//重定向到报表所在的jsp页面,并且把客户端浏览器宽度、高度,作为参数

//传递给报表所在的jsp页面               

       window.location.href=”<%=path%>/mis2/reportcenter/res/showReport.jsp?<%=param%>&w=”+w+”&h=”+h ;

 </SCRIPT>

      

2.在报表所在的jsp页面上(showReport.jsp),获取浏览器的宽度、高度

String w = request.getParameter(”w”) ;

       String h= request.getParameter(”h”) ;

      

       3.在报表输出的标签中,

              <report:html name=”report1″ reportFileName=”a.raq”

                     funcBarLocation=””

                     params=”<%=param.toString()%>”

                     needScroll=”yes”

                     scrollWidth=”<%=w%>” –动态设置滚动条宽度、高度

                     scrollHeight=”<%=h%>”

       />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值