DataPage分页控件怎么用

DataPage分页控件怎么用,第1张

1,引入必要的js,css文件。2,在html页面添加:3,添加easyui分页插件到div中:$('#pp').pagination({total:articleJSONArr.length,//总的记录数pageSize:10,//每页显示的大小。pageList:[10,20,50,100],//选择每页显示的记录数的下拉框的值。onSelectPage:function(pageNumber,pageSize){//选择相应的页码时刷新显示内容列表。//把请求的内容放入panel中。varhtml=""articleJSONArr.length/pageSize//页数。//i开始的记录数for(vari=(pageNumber-1)*pageSizeiarticleJSONArr.length?articleJSONArr.length:pageNumber*pageSize)i++)//遍历json{

用Jatools打印插件,目前好像都是收费的版本,但我在网上找到个免费的版本就拿来用了,做的练习。

可实现分页,打印。

<script type="text/javascript">

function JatoolsPrinterViewPDFReport(page){

var frm = document.getElementById("toolsForm")

var url = "<%=webapp %>/B1F216Action.do?method=JatoolsPrinterViewPDFReport"

url+="&page="+page

frm.action=url

frm.target='_self'

frm.submit()

}

function doPrint(how)

{

//打印文档对象

var myDoc = {

documents:document,// 打印页面(div)们在本文档中

copyrights:'杰创软件拥有版权 www.jatools.com'

}

// 调用打印方法

if(how == '打印预览...')

jatoolsPrinter.printPreview(myDoc,true ) // 打印预览

else if(how == '打印...')

jatoolsPrinter.print(myDoc ,true) // 打印前d出打印设置对话框

else

jatoolsPrinter.print(myDoc ,false) // 不d出对话框打印

}

<body style="margin:10px">

<html:form styleId="toolsForm" method="post"

action="/B1F216Action.do?method=JatoolsPrinterViewPDFReport"

enctype="multipart/form-data">

<table width="100%" cellpadding="0" cellspacing="0" border="0">

<tr>

<td width="50%"></td>

<td align="left">

<hr size="1" color="#000000">

<table width="100%" cellpadding="0" cellspacing="0" border="0">

<tr>

<td width="10%" align="left"><img src="<%=webapp

%>/jasReports/images/reload.GIF" border="0"

onclick="JatoolsPrinterViewPDFReport(0)"></td>

<td> </td>

<%

if (pageIndex >0)

{

%>

<td>

<img src="<%=webapp %>/jasReports/images/first.GIF" border="0" onclick="JatoolsPrinterViewPDFReport(0)">

<img src="<%=webapp

%>/jasReports/images/previous.GIF" border="0"

onclick="JatoolsPrinterViewPDFReport(<%=pageIndex - 1%>)">

</td>

<%

}

else

{

%>

<td>

<img src="<%=webapp %>/jasReports/images/first_grey.GIF" border="0">

<img src="<%=webapp %>/jasReports/images/previous_grey.GIF" border="0">

</td>

<%

}

if (pageIndex <lastPageIndex)

{

%>

<td>

<img src="<%=webapp %>/jasReports/images/next.GIF"

border="0" onclick="JatoolsPrinterViewPDFReport(<%=pageIndex +

1%>)">

<img src="<%=webapp %>/jasReports/images/last.GIF"

border="0"

onclick="JatoolsPrinterViewPDFReport(<%=lastPageIndex%>)">

</td>

<%

}

else

{

%>

<td>

<img src="<%=webapp %>/jasReports/images/next_grey.GIF" border="0">

<img src="<%=webapp %>/jasReports/images/last_grey.GIF" border="0">

</td>

<%

}

%>

<td width="50%" align="center">

<input type="button" value="打印预览..." onclick="doPrint(this.value)">

<input type="button" value="打印..." onclick="doPrint(this.value)">

<input type="button" value="直接打印" onclick="doPrint(this.value)">

</td>

</tr>

</table>

<hr size="1" color="#000000">

</td>

<td width="50%"></td>

</tr>

<tr>

<td width="50%"></td>

<td align="center">

<%=sbuffer%>

</td>

<td width="50%"></td>

</tr>

</table>

</html:form>

</body>

后台代码

// 1.html显示

JRHtmlExporter exporter = new JRHtmlExporter()

//设置导出参数

request.getSession().setAttribute( BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint)

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint)

exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out)

exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE)//页面显示图片为X,可设置false

exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "GBK")

int pageIndex = 0

int lastPageIndex = 0

if (jasperPrint.getPages() != null)

{

lastPageIndex = jasperPrint.getPages().size() - 1

}

String pageStr = request.getParameter("page")

try

{

pageIndex = Integer.parseInt(pageStr)

}

catch(Exception e)

{

}

if (pageIndex <0)

{

pageIndex = 0

}

if (pageIndex >lastPageIndex)

{

pageIndex = lastPageIndex

}

StringBuffer sbuffer = new StringBuffer()

exporter.setParameter(JRExporterParameter.PAGE_INDEX, Integer.valueOf(pageIndex))

exporter.setParameter(JRHtmlExporterParameter.HTML_HEADER, "")

exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, "")

exporter.setParameter(JRHtmlExporterParameter.HTML_FOOTER, "")

exporter.setParameter(JRExporterParameter.OUTPUT_STRING_BUFFER, sbuffer)

request.setAttribute("pageIndex", pageIndex)

request.setAttribute("lastPageIndex", lastPageIndex)

request.setAttribute("sbuffer", sbuffer)

//此处就是html导出方式,打印部分在页面通过插件实现

exporter.exportReport()

网页链接

看一下这个吧,现在很少有人手动写分页了,一般都是用插件。或者现在主流的前端框架,都有用户量特别大的前端组件库,用起来很方便。其实这个分页手写js并不难,主要是理清逻辑就可以了,能写但是没必要~如果是比较老的前端框架,必须手写js分页逻辑,追问就行,我给你屡屡


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6185291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存