ExtJS PagingToolbar分页显示不正确的问题

最近在做一个项目的时候,前端用EXTJS的PagingToolbar来做的分页,简单的代码如下:、

new Ext.PagingToolbar( {
                            displayInfo : true,
                            emptyMsg : '没有数据显示',
                            displayMsg : '显示第 {0} 条数据到 {1} 条数据,共 {2} 条数据',
                            store : this.store,
                            pageSize : 15,
                            plugins : [ this.filters ] //过滤页面只显示哪些列
                        })
filters : new Ext.ux.grid.GridFilters( {// 过滤页面只显示哪些列
								encode : true,
								filters : [ 
									{type : 'string',dataIndex : 'bizname'},
									{type : 'string',dataIndex : 'synrdiff'},
									{type : 'string',dataIndex : 'SYNRTIME'},
									{type : 'string',dataIndex : 'SYNRSUCCESS'},
									{type : 'string',dataIndex : 'SYNRFAILED'},
									{type : 'string',dataIndex : 'SYNRSIDE'}
									]
							})

 后台用的hibernate的分页,简单的代码如下:

Query query = null;
			session = super.getSession();
//			query = session.createSQLQuery(hql);
			query = session.createSQLQuery(hql).addScalar("SSUCCESS", Hibernate.INTEGER).addScalar("SNUM", Hibernate.INTEGER).
			addScalar("SYNRFAILED", Hibernate.INTEGER).addScalar("SYNRTIME", Hibernate.DATE).addScalar("SYNRDIFF", Hibernate.STRING);
			query.setFirstResult(start);
			query.setMaxResults(limit);
			
			list = query.list();
			total = list.size();
StringBuffer sb = new StringBuffer("{total:\"");
		sb.append(total).append("\",data:[");
//这里只是简单的代码呈现

 注意前台设置的pageSize=15,而我后面的total为list的size,所以如果数据大于15条的话,就只显示15条,而小于15条的时候是可以正确的显示的,这个问题开始的时候困挠了我很久,最后,在检查代码时候发现,这里的total是不能为list的size的,只能为SQL语句查询时候的数据量。这里设置了maxResults,所以total最大值为15,所以只能显示为1页。

你可能感兴趣的:(toolbar)