EasyUI 分页控制操作

来源:互联网 发布:win10连接以太网无网络 编辑:程序博客网 时间:2024/04/29 19:44

前台js,给table绑定分页控件:

$(function(){// 设置分页控件$('#odsExternalConfigGrid').datagrid('getPager').pagination({pageSize : 15,// 每页显示的记录条数,默认为15pageList : [ 15, 20, 30, 40, 50 ],// 可以设置每页记录条数的列表beforePageText : '第',// 页数文本框前显示的汉字afterPageText : '页    共 {pages} 页',displayMsg : '当前显示 {from} - {to} 条记录   共 {total} 条记录',onSelectPage : function(pageNumber, pageSize) {$("#page_size").attr("value", pageSize);$(this).pagination('loading');search(pageNumber, pageSize);//切换页数后调用后台查询$(this).pagination('loaded');},onBeforeRefresh : function(pageNumber, pageSize) {$(this).pagination('loading');},onRefresh : function() {$(this).pagination('loaded');}});});
调用后台查询数据结果:

function loadTestData(pageNumber, pageSize){var provCodeId = $("#provCodeId").combobox('getValue');var tableCodeId = $("#tableCodeId").combobox('getValue');$.ajax({type:"post",url:"sExtlConfig!findOdternalCfgList.action",async:false,dataType : "json",data:{tableCodeId:tableCodeId,systemCodeId:systemCodeId,page:pageNumber,rows:pageSize},cache:false,success:function(data,status){var json = eval("(" + data + ")");if (json.total <= 0) {$('#odsExternalConfigGrid').datagrid('loadData',{total: 0, rows: [] });$.messager.alert('系统提示', '没有查询数据!', 'info');}$('#odsExternalConfigGrid').datagrid('loadData', json);//json 是后台返回的json字符串包含total和rows,如果这样用的话,后台必须是total                                                                               //和rows这两个参数
                        
                        //$('#odsExternalConfigGrid').datagrid('loadData', json.rows);//这样用的话,对应后台的rows也可以改为其他名字,比如rowss,对应前台的                                                                                      //json.rows改为json.rowss
// 修改当前页文本框值var pageNumber1 = $('#odsExternalConfigGrid').datagrid('getPager').pagination('options').pageNumber;if (pageNumber == 1 && pageNumber1 != 1) {$('#odsExternalConfigGrid').datagrid('getPager').pagination('options').pageNumber = 1;$('#odsExternalConfigGrid').datagrid('getPager').pagination('refresh');}}});}

后台操作需要返回当前查看页的数据集合,和 满足查询条件的不分页情况下的记录总数.

Action层:
 public String findOdternalCfgList(){try {String provCode = this.getRequest().getParameter("provCodeId");String tableCode = this.getRequest().getParameter("tableCodeId");String systemCode = this.getRequest().getParameter("systemCodeId");String pageStr = this.getRequest().getParameter("page");int page = (pageStr == null || "".equals(pageStr)) ? Constant.FIRST_RESULT: Integer.parseInt(pageStr);String rowStr = this.getRequest().getParameter("rows");int row = (rowStr == null || "".equals(rowStr)) ? Constant.PAGE_SIZE: Integer.parseInt(rowStr);List<Map<String, Object>> inputList = odsExternalConfigService.findOdsExtelCfgList(provCode, tableCode, systemCode,page,row);long total = odsExternalConfigService.findOdsExternalCfgList(provCode, tableCode, systemCode);Map<String, Object> resultMap = new HashMap<String, Object>();resultMap.put("total", total);resultMap.put("rows", inputList);Gson gson = new Gson();resultList = gson.toJson(resultMap).toString();} catch (Exception e) {e.printStackTrace();}return "resultList";}
DAO层:

//返回指定页数的记录集合
@SuppressWarnings("unchecked")@Overridepublic List<Map<String, Object>> findOdsExternalCfgList(String hql,int page, int row) {
                //如下查询返回的结果是:[{id=T123445,name=abc}, {id=T3445,name=bc}]  形式的键值对集合Query query=getSession().createSQLQuery(hql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);query.setFirstResult(page);query.setMaxResults(row);List<Map<String, Object>> tempList = query.list();return tempList;}
//返回总记录数@Overridepublic long findOdsExternalCfgList(String provCode, String tableCode,String systemCode) {StringBuffer sb = new StringBuffer();sb.append("select count(*) from OdsExternalConfig oec, MetaObjectTable mot where oec.tableId = mot.id ");if(!StringUtil.isNull(provCode)){sb.append("and provCode = '"+ provCode +"'");}if(!StringUtil.isNull(tableCode)){sb.append("and tableId like '%"+ tableCode +"%'");}if(!StringUtil.isNull(systemCode)){sb.append("and systemId = '"+ systemCode +"'");}Session session = this.getSession();Query  query  =  session.createQuery(sb.toString()); long total = (Long)query.uniqueResult();return total;}



原创粉丝点击