Code Bye

DataGrid的分页问题

 

easyUI中的DataGrid设置分页的时候  pageSize无论设置什么值  出来的记录都是全部记录  有遇到的么?谢谢!


20分
引用 楼主 czuser 的回复:

easyUI中的DataGrid设置分页的时候  pageSize无论设置什么值  出来的记录都是全部记录  有遇到的么?谢谢!

你是前台分页后台分页?后台分页的话你能否接受到pageSize?你返回的记录数为多少?
附上文档 http://www.jeasyui.com/documentation/index.php#

引用 1 楼 BearKin 的回复:
Quote: 引用 楼主 czuser 的回复:

easyUI中的DataGrid设置分页的时候  pageSize无论设置什么值  出来的记录都是全部记录  有遇到的么?谢谢!

你是前台分页后台分页?后台分页的话你能否接受到pageSize?你返回的记录数为多少?
附上文档 http://www.jeasyui.com/documentation/index.php#

后台代码:long all = this.getCount();
String page = re.getParameter(“page”);
String rows = re.getParameter(“rows”);
String pageSize = re.getParameter(“pageSize”);
System.out.println(“page=”+page);
System.out.println(“rows=”+rows);
System.out.println(“pageSize=”+pageSize);
// 当前页
int intPage = Integer.parseInt((page == null || page == “0”) ? “1”
: page);
// 每页显示条数
int number = Integer.parseInt((rows == null || rows == “0”) ? “5”
: rows);
// 每页的开始记录 第一页为1 第二页为number +1
int start = (intPage – 1) * number;
map.put(“page”, start);
map.put(“pageCount”, number);
List<Transfer> list = this.getAllTransfer();
for (Transfer con : list) {
//jsonobj.put(“id”, con.getId());
jsonobj.put(“transferName”, con.getTransferName());
jsonobj.put(“birthLand”, con.getBirthLand());
jsonobj.put(“destination”, con.getDestination());
jsonobj.put(“time”, con.getTime());
jsonobj.put(“comments”, con.getComments());

jsonArray.add(jsonobj);
}
Map<String, Object> json = new HashMap<String, Object>();
json.put(“total”, all);// total键 存放总记录数,必须的
json.put(“rows”, jsonArray);// rows键 存放每页记录 list
jsonobj = JSONObject.fromObject(json);// 格式化result一定要是JSONObject
//System.out.println(jsonobj);
out.println(jsonobj);
out.flush();
out.close();

前台代码:$(function() {  
$(“”#ff””).hide(); 
    $(“”#tt””).datagrid({  
       pagination : true,  
          rownumbers : true, 
       title : “”运输列表显示””,  
       iconCls : “”icon-save””,  
       width : “”auto””,  
       height : “”auto””,  
      
       pageList : [5,10,15,20],  
       pageSize: 5, 
       nowrap : false,  
       striped : true,  
       collapsible : true,  
       url : “”/DHMS/transfer.action””,  
       loadMsg : “”数据装载中……””,  
       onLoadError : function() {  
           alert(“”数据加载失败!””);  
       },  
       sortName : “”time””,  
       sortOrder : “”desc””,  
       remoteSort : false,  
       frozenColumns : [ [ {  
           field : “”ck””,  
           checkbox : true  
       } ] ],  
       columns : [ [ {  
           title : “”运输员””,  
           field : “”transferName””,  
           width : “”100″”,  
           rowspan : 2,  
           align : “”center””  
       }, {  
           title : “”出发点””,  
           field : “”birthLand””,  
           width : “”100″”,  
           rowspan : 2,  
           align : “”center””  
       }, {  
           title : “”目的地””,  
           field : “”destination””,  
           width : “”80″”,  
           rowspan : 2,  
           align : “”center””  
       }, {  
           title : “”时间””,  
           field : “”time””,  
           width : “”220″”,  
           rowspan : 2,  
           align : “”center””  
       }, {  
           title : “”备注””,  
           field : “”comments””,  
           width : “”220″”,  
           rowspan : 2,  
           align : “”center””  
       } ] ],  
     
       toolbar : [ {  
           text : “”全部””,  
           iconCls : “”icon-ok””,  
           handler : function() {  
              $(“”#tt””).datagrid({  
                  url : “”/DHMS/transfer.action””  
              });  
           }  
       }, “”-“”, {  
           text : “”添加””,  
           iconCls : “”icon-add””,  
          // handler : function() {  
             // openAdd();  
             //$(“”#ff””).show();  
             // $(“”#ff””).form(“”clear””);  
             // $(“”#ff””).appendTo(“”#aa””);  
          // }  
       }, “”-“”, {  
           text : “”修改””,  
           iconCls : “”icon-edit””,  
           //handler : getSelect  
       }, “”-“”, {  
           text : “”删除””,  
           iconCls : “”icon-remove””,  
          // handler : del  
       }, “”-“”, {  
           text : “”查询””,  
           iconCls : “”icon-search””,  
          // handler : function() {  
             // $(“”#query””).window(“”open””);  
   
          // }  
       } ]  
    });  
   
    displayMsg();  
    //var p = $(“”#tt””).datagrid(“”getPager””);  

    //$(p).pagination({  

       // pageSize: 5,//每页显示的记录条数,默认为10  

       // pageList: [5,10,15],//可以设置每页记录条数的列表  

       // beforePageText: “”第””,//页数文本框前显示的汉字  

       // afterPageText: “”页    共 {pages} 页””,  

       // displayMsg: “”当前显示 {from} – {to} 条记录   共 {total} 条记录””,  
//}); 
    });  

function displayMsg() {
    $(“”#tt””).datagrid(“”getPager””).pagination({  
     
       displayMsg : “”当前显示从{from}-{to}共{total}记录””
    });  
    
}  

….我丧失继续追踪这个问题的勇气了 一瞬间的 我给你发个例子吧
没有独立的例子啊!
			int start = (page - 1) * rows;
			int max = start + rows;

			MEntry<Integer, List<Task>> entry = taskService.findTasks(new String[] {}, conditions, start, max);
			maingird = new GridDataModel<Task>(entry.getKey().longValue(), entry.getValue());

这个是接受前台参数并且查询的地方 那个GridDataModel是我们自定义的类 

/**
 * OMUI分页对象
 * 
 * @author linfeng
 * @param <T>
 *            持有对象类型
 */
public class GridDataModel<T> {
	/** 显示的总数 */
	private Long total;

	/** 行数据 */
	private List<T> rows;

	/**
	 * 默认构造器
	 */
	public GridDataModel() {

	}

	/**
	 * 参数初始化构造器
	 * 
	 * @param total
	 *            显示的总数
	 * @param rows
	 *            行数据
	 */
	public GridDataModel(Long total, List<T> rows) {
		this.total = total;
		this.rows = rows;
	}

	public List<T> getRows() {
		return rows;
	}

	public void setRows(List<T> list) {
		this.rows = list;
	}

	public Long getTotal() {
		return total;
	}

	public void setTotal(Long total) {
		this.total = total;
	}
}

这个是那个类

我用的是Struts2 将结果逆序列化成json串 返回给了页面

我这有返回数据  就是分页的时候   只显示全部数据   不是按pageSize的值来进行分页!
引用 6 楼 czuser 的回复:

我这有返回数据  就是分页的时候   只显示全部数据   不是按pageSize的值来进行分页!

你并没有将全部数据返回给他 他咋会有全部数据呢…

我这就是显示全部数据   就是pageSize不起作用!
引用 8 楼 czuser 的回复:

我这就是显示全部数据   就是pageSize不起作用!

你淡定淡定 先把我的话理解清楚

首先前台给你提供了你这次查询需要的参数 肯定有一个页码和一个页长
如果你按照他提供的参数去查询 那么他不可能显示全部记录 
问题就只存在两个 一个是在他给你提供的页码和页长上 另外一个就是你查询方法写的有问题 
我发了几个楼 我就想搞清楚这个 然后再按照你的反馈来看下个问题 别着急 

我的代码主要思想这样的后台是接收当前页和每页条数作为分页查询条件,前台是设置 dataGrid的相应属性pageSize  pageList pagination 等   我前后都看了 就是只显示全部数据   找不到问题出哪儿了  郁闷的
引用 10 楼 czuser 的回复:

我的代码主要思想这样的后台是接收当前页和每页条数作为分页查询条件,前台是设置 dataGrid的相应属性pageSize  pageList pagination 等   我前后都看了 就是只显示全部数据   找不到问题出哪儿了  郁闷的

…我问了那么多次 可是你还是不告诉我我要的东西…

问题已解决!谢谢!
问题是怎么解决的啊?求解释,我遇到了同样的问题啊

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明DataGrid的分页问题