标签:
要求:在easyui-datagrid中完成paginaton的分页功能。
1.easyui-datagrig的配置
<table id="dg" rownumbers=true fitColumns="true" singleSelect="true" data-options="pagination:true,fit:true,toolbar:‘#tt‘"> <thead> <tr> <th field="bNo" align="center" width="120px">柜员号</th> <th field="bType" align="center" width="150px">柜员类型</th> <th field="jGNo" align="center" width="120px">机构号</th> <th field="pZCount" align="center" width="120px">凭证数</th> <th field="zJcount" align="center" width="120px">主件数</th> <th field="fJcount" align="center" width="120px">附件数</th> <th field="sBPass" align="center" width="150px">识别凭证</th> <th field="sBSuccess" align="center" width="150px">识别成功</th> <th field="sBRoute" align="center" width="120px">识别率</th> <th field="yWDate" align="center" width="170px">业务日期</th> </tr> </thead> </table>
pagination="true"数据表格会自动将分页栏置于表下方;toolbar="#tt"表示为数据表格上方加入工具栏,具体样式是id="#tt"的模块决定的。在看下js文件对datagrid的其他配置:
$(‘#dg‘).datagrid({ url:‘user/queryList.action‘, pageList: [5,10,20,50,100], pageSize:5 });
url为页面刷新datagrid自动的请求,每次请求会向后台传入两个参数:1)page,当前第几页;2)rows,每页显示几条数据。因此在后台需要就收这两条重要信息。
2.struts2的Action配置
public String queryList(){ List<User> list = userService.queryList(page,rows) ; pag1 = new Pagination<User>(); pag1.setTotal(userService.getCount()); pag1.setRows(list); return SUCCESS ; }
<package name="work" namespace="/user" extends="json-default,struts-default"> <action name="queryList" class="userAction" method="queryList"> <result type="json"> <param name="root">pag1</param> </result> </action>
</package>
pag1为DTO数据传输对象,有total和rows两属性(datagrid要求的json格式)
3.hibernate层service分页方法
public List<User> queryList(int page, int pageSize) { // TODO Auto-generated method stub String hql = "from User"; Query query = userDao.getSession().createQuery(hql); int beginNum = (page-1)*pageSize; int endNum = beginNum+pageSize>getCount()?getCount()-beginNum :pageSize ; query.setMaxResults(endNum); query.setFirstResult(beginNum); return query.list(); }
标签:
原文地址:http://www.cnblogs.com/hfblogs/p/5698142.html