最近开发用EXT+SSH,开发的不亦乐乎,突然遇到一个问题------分页,经过一天的尝试最后解决问题,网上有很多的文章写这个的,但是我感觉写的人肯定知道了怎么去做,但是看的人是一面的雾水.希望我写的对大家有所帮助.
我实现的是对Grid的分页,使用到的有GridPanel ,Pagingbar,JSonStore.使用的的是struts2.0+hibernate.
首先、说一下JSonStore;
cityStore=new Ext.data.Store({//配置分组数据集
autoLoad :{params:{start:0,limit:2}},
reader: new Ext.data.JsonReader({
totalProperty:'results',
root : "cities",
fields : [
{name: 'cityId'},
{name: 'cityName'},
{name:'longitude'},
{name:'latitude'},
{name:'cityDescription'}]
}),
其中重要的有三个变量:start limit totalProperty,在autoLoad:中的start ,limit 是用来设置开始加载store时候使用,相当于第一次显示的记录,limit 要与pagingBar 中的pasgeSize 数值一样、再一个是totalProerty是记录的总数,是所有记录的数量,不是json返回的记录数量,这就决定了,我们在生成json数据的时候,返回的results,是所有的记录的数量,而不是一页包含的记录数,因为pagingbar的分页数量是根据jsonStrore中totalProperty和pagingbar中的pageSize计算主来的。
其次、说一下pagingbar
var pagingBar=new Ext.PagingToolbar(
{
//params:{start:0,limit:2},
store:cityStore,
pageSize:2,
displayInfo:false,
displayMsg:'第{0}条到{1}条,一共{2}条',
emptyMsg:'没有记录'
});
里面重要的数据有pageSize,params{start ,limit},store,pageSize是一页显示的记录数,params{start,limit}是pagingbar默认的参数,可以自己定义,这两个参数是用在action中的接收参数,action根据stat limit来获得要返回的json中的记录内容,并把内容传递给jsonStore,store就不说了,就是自己定义的那个cityStore.
再次、说一说action,action是关键的,它要接受start limit两个参数,根据这两个参数从数据库中获得记录集合,同时要获得所有记录的总数,并且把记录的总数要作为数据传递给store,results在这个里子中是这样的。长久没有解决这个问题,原因就是没有想到这一点,最后才发现,很多文章,在这一点,没有介绍清楚,我想是大家都知道,都没有点明,这让我饶了一个大弯,通过不段的测试和假设才发现原因,不过还要感谢你们帮助我找到问题的原因。
最后、简单说一下hibernate,在数据库操作类,定义一个根据开始位置和增加量的方法。
public List getCitys(final int begin, final int end) {
// TODO Auto-generated method stub
final String hql="from City";
final int cityCount=this.getCityCount();//获得所有的记录数量
List list=(List)this.getHibernateTemplate().execute(new HibernateCallback()
{
public Object doInHibernate(Session session) throws HibernateException, SQLException {
// TODO Auto-generated method stub
Query query=session.createQuery(hql);
int first,last;
List listTemp;
if(begin<cityCount)
{
if(begin>0)
{
first=begin;
}
else
{
first=0;
}
if(end<cityCount-begin)
{
last=end;
}
else
{
last=cityCount-begin;
}
query.setFirstResult(first);
query.setMaxResults(last);
listTemp=query.list();
}
else
{
listTemp=null;
}
return listTemp;
}
});
return list;
}
分享到:
相关推荐
本示例主要介绍了如何使用Ext.js这个JavaScript框架来实现前端的分页查询功能。 首先,创建一个名为`resource`的数据存储(Store),它负责从服务器获取数据。这里的`Store`对象定义了字段(fields)、数据源URL...
在这个"ext分页客户端demo Java js"的示例中,我们将探讨EXTJS如何实现客户端分页,以及如何与后端(如Java)进行数据交互,而无需在服务器端编写额外的Java代码。 EXTJS中的分页组件主要由Ext.grid.Panel和Ext....
EXT分页工具条是一款在Web应用中常用的组件,主要用于展示数据集的分页信息,让用户能够方便地浏览大量数据。EXT是一个强大的JavaScript框架,它提供了丰富的UI组件和数据管理功能,使得开发人员能够构建高性能、...
Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码
本文将深入探讨EXT中对多种store数据分页的实现方式。 首先,EXT提供了两种主要的分页模式:客户端分页(Client Paging)和服务器端分页(Server Paging)。客户端分页适用于数据量不大,且可以一次性加载到内存中...
在IT领域,尤其是在Web开发中,"ext grid json分页显示"是一个常见的需求,它涉及到前端数据展示和后端数据交互的关键技术。本例中提到的解决方案是利用DWR(Direct Web Remoting)和EXT.js库来实现。下面将详细阐述...
在EXT中,树(Tree)和表格(Grid)是两种重要的数据展示组件,它们可以单独使用,也可以结合成树表(TreeGrid)以同时展示层次结构和表格数据。 在EXT树表中,分页(Pagination)是一项关键功能,用于处理大量数据...
本示例探讨了如何结合Ext JS(一个强大的JavaScript框架)和Servlet(Java Web开发中的服务器端组件)来实现简单的分页功能。下面将详细解释这个主题。 首先,Ext JS是一个用于构建用户界面的前端JavaScript库,它...
用EXT来实现下拉框ComboBox 下拉框可以实现分页
可以直接在本地对数据进行分页显示,很强大!!!!(分页可以是JSON格式 也可以是Array格式)
后台使用的是struts2生成Ext所需要的json,把webroot下的ext4下面加入ext的开发包,然后再把create.sql中的脚本在数据库中执行,代码就可以跑起来了,我用的是mysql数据库
- 由于`Ext TreeGrid`的分页实现涉及到了前后端的数据交互,因此还需要关注前端与后端之间的数据同步问题,确保数据的一致性和完整性。 通过以上步骤,我们可以实现一个具备分页功能的可编辑`Ext TreeGrid`组件,为...
在Ext JS中,实现前台分页主要依靠`Store`对象和`Grid`组件。`Store`是用来存储数据的容器,它可以与`Grid`、`Chart`等组件配合使用,负责数据的加载、更新和管理。`Grid`则是用来展示数据的组件,通常用于表格形式...
2. Store配置:在EXT中,数据存储在Store对象中,配置分页需要设置`autoLoad`、`pageSize`、`proxy`等相关属性。`proxy`通常设置为`AjaxSource`或`RestProxy`,用于与服务器通信,`reader`属性则定义了如何解析...
标题中的“修复Ext3.0.0中自定义分页的小bug”指的是在Ext JS框架的3.0.0版本中,用户在实现自定义分页功能时遇到的一个问题。Ext JS是一个流行的JavaScript库,主要用于构建富客户端Web应用程序,它的组件库包含了...
在EXT2.0中实现动态树和分页,需要掌握以下关键知识点: 1. **TreePanel**:EXT2.0中的TreePanel是构建动态树的主要组件。它支持动态加载,可以通过配置异步树加载模式,从服务器获取数据。 2. **Store**:存储...
EXT JS中的表格分页通常通过Grid Panel组件实现,该组件可以与数据存储(Store)配合,数据存储负责管理数据,包括加载、过滤、排序和分页。分页功能由Pager Toolbar组件提供,它是一个可自定义的工具栏,包含导航...
在EXT中设置分页大小是一项关键任务,这关系到用户如何控制和浏览数据。 标题"ext设置分页大小.rar"暗示了这是一个关于EXT库中调整分页大小的手动教程或者代码资源,可能包含了一些示例文件。描述中的"ext设置 手工...
在这个场景中,我们关注的是"Ext.NET服务器端分页",这是一个优化用户界面性能并提高用户体验的技术。服务器端分页意味着每次只从服务器获取一部分数据,而不是一次性获取所有数据,从而减轻网络负担和服务器压力。 ...