easyuidatagrid分页.docx
- 文档编号:3704185
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:14
- 大小:38.82KB
easyuidatagrid分页.docx
《easyuidatagrid分页.docx》由会员分享,可在线阅读,更多相关《easyuidatagrid分页.docx(14页珍藏版)》请在冰豆网上搜索。
easyuidatagrid分页
1.定义分页基类PaginatedHelper,绑定和读取分页信息
packagemons.web.util;
importjava.io.Serializable;
publicclassPaginatedHelperimplementsSerializable{
//每页记录条数
/**
*
*/
privatestaticfinallongserialVersionUID=1L;
privateintpage=1;
privateintrows;
//开始位置
privateintstartIndex;
publicstaticfinalintPAGE_SIZE=15;
/**
*获取当前页
*@return
*/
publicintgetCurrentPage(){
returnpage;
}
publicvoidsetPage(intpage){
this.page=page;
}
publicvoidsetRows(introws){
if(rows>0){
this.rows=rows;
}else{
this.rows=PAGE_SIZE;
}
}
//计算查询开始位置
privatevoidcalculatestartIndex(){
if(this.page>0){
}else{
page=1;
}
this.startIndex=(this.page-1)*this.rows;
}
/**
*取得开始位置
*@return
*/
publicintgetStartIndex(){
calculatestartIndex();
returnstartIndex;
}
publicintgetPageSize(){
returnthis.rows;
}
publicintgetRows(){
returnrows;
}
}
2.定义查询信息类,继承基类
上图中的红圈信息为查询信息,及一些业务逻辑信息都包含进去。
packagemon.dto;
importjava.util.List;
importmon.util.PaginatedHelper;
publicclassPaginateextendsPaginatedHelper{
privatestaticfinallongserialVersionUID=1L;
privateStringapplyDateStart;
privateStringapplyDateEnd;
privateDepartmentInfodepartmentCode;
privateBranchInfobranchCode;
privateStringbusinessSeries;
publicStringgetApplyDateStart(){
returnapplyDateStart;
}
publicvoidsetApplyDateStart(StringapplyDateStart){
this.applyDateStart=applyDateStart;
}
publicStringgetApplyDateEnd(){
returnapplyDateEnd;
}
publicvoidsetApplyDateEnd(StringapplyDateEnd){
this.applyDateEnd=applyDateEnd;
}
publicDepartmentInfogetDepartmentCode(){
returndepartmentCode;
}
publicvoidsetDepartmentCode(DepartmentInfodepartmentCode){
this.departmentCode=departmentCode;
}
publicBranchInfogetBranchCode(){
returnbranchCode;
}
publicvoidsetBranchCode(BranchInfobranchCode){
this.branchCode=branchCode;
}
publicStringgetBusinessSeries(){
returnbusinessSeries;
}
publicvoidsetBusinessSeries(StringbusinessSeries){
this.businessSeries=businessSeries;
}
List
publicList
returnlist;
}
publicvoidsetList(List
this.list=list;
}
}
3.前台页面:
<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
<%@includefile="/WEB-INF/views/commons/head.jsp"%>
functionqueryAction(){
varwd=$("#tt").width();
vardata=$("#form1").serialize();
varsend_url=" urlvalue='JosnDataNewPaginate.do'/>? "+data; $('#tt') .datagrid( { title: '订单信息', url: send_url, rownumbers: true, columns: [[ { field: 'chk', width: wd*0.07, align: "center", formatter: function(value,row){ varf=row.curStorehouseNo==row.toStorehouseNo &&row.flag=='Y'; return" +(f==true? '' : 'disabled') +"value='" +row.voucherFittingNo +"'/>"; } }, { field: 'voucherFittingNo', title: '调拨单号', sortable: true, width: wd*0.1, sorter: function(a,b){ return(a>b? 1: -1); } }, { field: 'branchName', title: '申请机构', width: wd*0.13 }, { field: 'toStorehouseName', title: '申请仓库', width: wd*0.15 }, { field: 'voucherCode', title: '单证代码', width: wd*0.08 }, { field: 'voucherName', title: '单证名称', width: wd*0.15 }, { field: 'fittingSum', title: '申请调拨数量', align: 'right', width: wd*0.1 }, { field: 'fromStorehouseName', title: '调出仓库', width: wd*0.15 }, { field: 'fittingStatusDesc', title: '调拨单状态', width: wd*0.15 }, { field: 'voucherFittingNoLink', title: '审批信息', width: wd*0.1, formatter: function(value,row){ return" fittingNo=" +row.voucherFittingNo +"'>审批结果"; } }]], pagination: true }); document.getElementById("optionTable").style.display=""; } $(document).ready(function(){ $("#sub1").bind({ click: queryAction }); //queryAction(); }); formmodelAttribute="voucherFitting"method="post"name="form1"id="form1"> --定义导航条--> 库存管理>>
调拨单申请时间:
'whyGreen',maxDate: '#F{$dp.$D(\'applyDateEnd\')||\'%y-%M-%d+1\'}'})"value="${applyDateStart}"required="true"missingMessage="请选择起始时间"/> 至 'whyGreen',minDate: '#F{$dp.$D(\'applyDateStart\')}',maxDate: '%y-%M-%d+1'})"required="true"missingMessage="请选择结束时间"/>
errorspath="*"cssClass="requred_font"/>
none"> modify()"iconCls="icon-edit">修改 invalid()"iconCls="icon-remove">作废 exportFitting()"iconCls="icon-ok">导出报表
form>
主要注意,在页面中的输入字段的命名跟上面查询信息类Paginate的field字段命名一直,或使用sf标签的绑定规则来将前台页面绑定到Paginate类。
4.Controller中查询信息读取:
/**
*jquery分页
*/
@RequestMapping(value="/JosnDataNewPaginate")
publicvoidgetJsonDataGrid(HttpServletRequestrequest,
HttpServletResponseresponse,PaginatepaginateInfo)throwsException{
List
inttotalCount=fittingMaintainService.retrieveFittingCount(paginateInfo);//调用Service中方法到总记录数
PrintWriterwrite=response.getWriter();
JSONObjecto=newJSONObject();
o.put("total",totalCount);
o.put("rows",list);
write.write(o.toString());
System.out.print(o.toString());
write.flush();
write.close();
o.clear();
}
5.分页数据的结构定义:
List
VoucherFitting定义为Map类型,包含前台展示的filed和显示信息。
由于在DOMIAN中和SQL中必须传入分页信息,startRow(起始条)和endRow(结束条),用于返回数据,可以使用上面Controller的getJsonDataGrid中,
intstartRow=paginateInfo.getStartIndex();
intendRow=paginateInfo.getStartIndex()+paginateInfo.getPageSize;
6.ibatis配置文件中SQL分页语句写法参考:
先定义一个公用分页SQLXML文件:
如commons-ibatis2.xml,做下列定义:
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEsqlMapPUBLIC"-//ibatis.apache.org//DTDSQLMap2.0//EN"
"http:
//ibatis.apache.org/dtd/sql-map-2.dtd">
--定义综合查询前缀,后缀sql-->
selectcount(*)from(
SELECT*FROM(selectrow_.*,rownumstart_rownum_from
(
[CDATA[
)row_WHERErownum<=#startIndex#+#pageSize#)WHEREstart_rownum_>#startIndex#
]]>
SELECT*FROM(selectrownumr,union_tb.*from(
[CDATA[
)union_tb
)WHEREr>#startIndex#ANDr<=#startIndex#+#pageSize#
]]>
则分页查询ibatis文件定义可以参照如下:
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEsqlMapPUBLIC"-//ibatis.apache.org//DTDSQLMap2.0//EN"
"http:
//ibatis.apache.org/dtd/sql-map-2.dtd">
namespace="com.sinolife.uw.formTaskReassign.integration.dao.FormTaskReassignDao"> --查询信息结果匹配--> class="com.sinolife.uw.domain.FormTaskReassignListDomain">
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- easyuidatagrid 分页