EasyUI 分页控制操作

  • Post author:
  • Post category:其他


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

$(function(){
	// 设置分页控件
	$('#odsExternalConfigGrid').datagrid('getPager').pagination({
		pageSize : 15,// 每页显示的记录条数,默认为15
		pageList : [ 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")
	@Override
	public 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;
	}

//返回总记录数
	@Override
	public 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;
	
	}



版权声明:本文为mycup163原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。