ExtJS入门教程06,grid分页的实现

简介:

前面两篇内容分别介绍了extjs grid的基本用法extjs grid异步加载数据,这篇文章将介绍extjs grid的分页。

数据量大的时候我们必须用到分页,结合上一篇的异步加载数据,今天我们就看看如何异步的加载分页数据。

在extjs grid的请求中,包含几个参数,如图:

image

page:当前页

start:起始行的行号

limit:每页数据行数,默认为25

在请求处理的时候,我们只要获得这些参数,就可以方便的将想要的分页后的数据返回给客户端。

接下来我们新建一个handler,用来处理分页请求,返回数据:

public class gridPaging : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/json";
        Common.HandleResult result = new Common.HandleResult();

        int limit = int.Parse(context.Request["limit"]);
        int page = int.Parse(context.Request["page"]);
        var list = Entity.UserEntity.UserList.Skip(limit * (page - 1)).Take(limit);
        result.Set(true, new { total = Entity.UserEntity.UserList.Count, record = list });
        string jsonString = JsonConvert.SerializeObject(result);
        context.Response.Write(jsonString);
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

然后,修改我们的store,将默认的每页数据行数改为2(我们的列表中只有6行数据):

var myStore = Ext.create('Ext.data.Store', {
    model: 'User',
    autoLoad: true,
    pageSize: 2,
    proxy: {
        type: "ajax",
        url: "/handlers/gridPaging.ashx",
        reader: {
            type: 'json',
            root: "data.record",
            totalProperty: "data.total",
            idProperty: 'ID'
        }
    }
});

由于采用了分页,我们返回的json数据的结构也发生了变化,所以reader也进行了相应的改变。

然后刷新看我们的grid,截图如下:

image

确实是有两行数据,但是却少了我们的分页工具栏。

接下来我们为grid添加分页工具栏,通常情况下,我们将工具栏显示在grid底部,代码如下:

var win = Ext.create("Ext.Window", {
    title: "gird demo",
    width: 300,
    height: 200,
    layout: "fit",
    items: {
        xtype: "grid",
        store: myStore,
        columns: [
            { xtype: "rownumberer" },
            { text: "姓名", dataIndex: "Name" },
            { text: "年龄", dataIndex: "Age" }
        ],
        bbar: [
            { xtype: "pagingtoolbar", store: myStore }
        ]
    }
});

pagingtoolbar的store配置一定要和grid的store相同。

截个图,看看效果:

image




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/p/extjs-starter-06-paging.html,如需转载请自行联系原作者
相关文章
|
6月前
01jqGrid - 入门案例
01jqGrid - 入门案例
33 0
|
索引 缓存 前端开发
从零开始学_JavaScript_系列(十一)——dojo(4)(GRID表格进阶:格式化、style、数据获取、多重排序、点击事件)
如果没有阅读过gridx表格的基本运用教程,建议先阅读这篇(4天点击量已经接近5k): http://blog.csdn.net/qq20004604/article/details/51170919 里面很详细的说明了gridx表格的创建,常用模块,和基本使用。 如果没有接触过dojo,建议阅读: http://blog.csdn.net/qq20004604/article
1965 0
|
JavaScript 数据格式 前端开发
ExtJS学习(三)Grid表格
表格说明 Ext中的表格功能非常强大,包括排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。
1057 0
|
JavaScript 前端开发 知识图谱
[ExtJS5学习笔记]第三十三节 sencha extjs 5 grid表格导出excel
使用extjs肯定少不了使用表格控件,用到表格,领导们(一般)还是惯于使用excel看数据,所以用到extjs表格的技术猿们肯定也会有导出表格excel这一个需求,本文主要针对如何在用extjs将grid表格导出到excel,使用的是前端导出,不涉及后端。
1406 0
|
JavaScript 前端开发 Java
[ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel
继上次使用js前端导出excel之后,还有一个主要大家比较关注的是后台实现导出excel,因为本人开发使用的java所以这里使用apache的开源项目poi进行后台excel的导出。
1498 0

热门文章

最新文章