行式填报表分页

润乾的填报表,是不支持分页的。

行式填报表可以通过间接的方式,来实现分页

思路:从数据集中每次取出一页的数据,每次翻页,都重新从数据集中取数,并在翻页前,将当前页的数据提交入库。

方法:

1 制作报表:

参数:

nPage  当前页

start   开始行

end   结束行

pageCount   每页显示的记录条数

数据集:

ds1:

参数:

在数据集ds1的参数标签页的起始行和结束行中:start   end

ds2

数据集ds2只是为了求出数据集ds1的数据库总记录数。

2 页面:testExcel.jsp,报表文件名为Excel.raq

<%@ page contentType="text/html;charset=GBK" %>

<%@ taglib uri="/WEB-INF/runqianReport4.tld" prefix="report"%>

<HTML>

<HEAD>

</HEAD>

<body>

<%

     String nPage="";  //初始化

      if(request.getParameter( "nPage" )==null){  //判断当前页是否为空

                     nPage="1";     //若为空,则当面页面为1

         }else{

                     nPage= request.getParameter( "nPage" );  //否则为当前页

           }

      //每页显示10条,这个可以根据每页所想显示的条数进行更改

           String pageCount=request.getParameter( "pageCount" );         

           StringBuffer param=new StringBuffer();

      param.append("nPage="+nPage+";pageCount="+pageCount); 

%>

<table  style="width:100%;hoverflow:hidden;table-layout:fixed">

         <tr><td>

                   <report:html name="report1"                          

                            reportFileName="Excel.raq"                    

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

                            funcBarLocation="top"

                            backAndRefresh="no"

                   />

                  

         </td></tr>

</table>

<table>   

                    

       <input id="back" type="button" οnclick="prevpage()" value="上一页">       

       <input id="foward" type="button" οnclick="nextpage()" value="下一页">

            第<span id="pageshow1"></span><span id="msg1"></span>

            共<span id="pageshow2"></span><span id="msg2"></span>    

    

</table>

<script type="text/javascript">

         var totalnum=document.getElementById("report1_G1").value;

         var npage1=document.getElementById("report1_H1").value;

         if(totalnum == 0){

                            totalnum=1;

                   }

         var temp=totalnum/<%=pageCount%>;

         var pageNum=(temp==parseInt(temp)?temp:parseInt(temp)+1);

         document.getElementById("msg2").innerText=pageNum+"页";

         document.getElementById("msg1").innerText=npage1+"页";     

</script>

<script type="text/javascript">

         function prevpage(){  //上一页 调用的方法

                   alert("prevpage");

                   _submitRowInput( report1 );  //先提交

                   var npage1=document.getElementById("report1_H1").value;                        

                   alert("npage1=="+npage1);

                   var npage = 1;

                   if(npage1 > 1){

                            npage = npage1-1;

                   }                

                   alert("npage=="+npage);

                   window.location.href="http://127.0.0.1:6001/demo/jsp/testExcel.jsp?pageCount=10&nPage="+npage;  //跳转到上一页

         }

</script>

<script type="text/javascript">

         function nextpage(){

                   alert("nextpage");

                   _submitRowInput( report1 );

                   var totalnum=document.getElementById("report1_G1").value;

                   var npage1=document.getElementById("report1_H1").value;     

                   alert("npage1=="+npage1);

                   if(totalnum == 0){

                            totalnum=1;

                   }

                   var maxpage=totalnum/<%=pageCount%>;

                   alert("maxpage=="+maxpage);               

                   var npage = parseInt(maxpage);

                   if(npage1 < npage){

                            npage = parseInt(npage1)+1;

                   }                

                   alert("npage=="+npage);

                   window.location.href="http://127.0.0.1:6001/demo/jsp/testExcel.jsp?pageCount=10&nPage="+npage;

        

         }

</script>

</body>

</HTML>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值