行式填报表分页

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

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

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

方法:

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” onclick=”prevpage()” value=”上一页“>

<input id=”foward” type=”button” onclick=”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>

热门文章