1. 定义变量,存储,每页显示多少条数据

var itemsPage = 25;

2.grid数据源

//列表源
var oStore = Ext.create('Ext.data.Store', {
fields: ["a","b","c","d"],
autoLoad: false,
pageSize: itemsPage,  //记录每页显示多少条数据,会作为url的参数传递
proxy: {
type: "ajax",
url: "...",
       extraParams:{}, //自定义url参数
reader: { type: 'json', root: "rows", totalProperty: 'total' }  //totalProperty: 总数据条数
}
});

注意:获取到的数据源,格式为{total:123,rows:[......]}

3. 每页显示的条数,设为可选 //每頁顯示的條數

//每頁顯示的條數
var pagesizeCombo = new Ext.form.ComboBox({
store: new Ext.data.SimpleStore({ fields: ['id', 'value'], data: [['25', 25], ['75', 75], ['100', 100], ['150', 150], ['200', 200], ['300', 300]] }),
mode: 'local',
displayField: 'id',
valueField: 'value',
width: 60,
editable: false,
listeners: {
render: function (comboBox) {
//使得下拉菜单的默认值是初始值
comboBox.setValue(comboBox.ownerCt.getStore().pageSize);
},
select: function (comboBox) {
var pSize = comboBox.getValue();
comboBox.ownerCt.getStore().pageSize = parseInt(pSize);
//存储改变后的,每页显示条数
itemsPage = parseInt(pSize);
//重置頁碼
Ext.getCmp(gridId).getStore().currentPage = 1;
//查詢加載數據
oStore.reload();
}
}
});

4. grid显示的分页信息,给grid添加属性bbar

bbar: [{
xtype: 'pagingtoolbar',
dock: 'bottom',
store: oStore,
displayInfo: true,
autoScroll: true,
beforePageText: "第",
afterPageText: "页 共 {0} 页",
displayMsg: "显示 {0} - {1}条,共 {2} 条"),
emptyMsg: "没有数据!"),
items: ['-', "每页", pagesizeCombo, "条"]
}]

5. 如果是每页固定显示数据条数,可省略步骤1和3,其它步骤中出现的 itemsPage 和 pagesizeCombo 可直接将用数字替换掉。

6.  数据重新加载(或按条件重新查询数据),可以给url重新设定参数

oStore.reload({ params: { page: 1,a2:"xxx" } }

7. 设置页码可以

Ext.getCmp(gridId).getStore().currentPage = 1;

 也可以在reload中设置参数 {page:1},也可以将页码设置成其他数字,看个人需求。

Ext.grid 分页的更多相关文章

  1. ext:grid分页,列宽度自动填满grid宽度

    var cm = new Ext.grid.ColumnModel([{      header : '编号',      dataIndex : 'id'     }, {      header ...

  2. Ext.grid.Panel表格分页存储过程

    /*首先需要引入两个Extjs插件类 Ext.ux.data.PagingMemoryProxy和Ext.ux.ProgressBarPager这两个类*/ /*下面是控制弹出窗体放大缩小时窗体居中的 ...

  3. 【extjs】 ext5 Ext.grid.Panel 分页,搜索

    带有分页,搜索的grid. <%@page language="java" contentType="text/html; charset=UTF-8" ...

  4. Ext.grid.Panel表格分页

    转载:http://www.cnblogs.com/libingql/archive/2012/04/22/2464994.html cshtml @{ Layout = null; } <!D ...

  5. [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)

    先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'ema ...

  6. Ext grid checkbox 分页 翻页 勾选 问题

    timeArray = new Array(); //临时数组变量 var timeStatusBar = new Ext.ux.StatusBar({ id: 'statusbar', defaul ...

  7. [转]ExtJS Grid 分页时保持选中的简单实现方法

    原文地址 :http://www.qeefee.com/article/ext-grid-keep-paging-selection ExtJS中经常要用到分页和选择,但是当选择遇到分页的时候,杯具就 ...

  8. ExtJS自制表格Grid分页条

    试过Grid自带的load和分页功能,没有成功,干脆就自己写了...... 主要是查询条件比较复杂...... 希望哪位大神能有更好的意见. Ext.define('MyApp.ux.Paginati ...

  9. 完善ext.grid.panel中的查询功能(紧接上一篇)

    今天的代码主要是实现,Ext.grid.panel中的查询,其实我也是一名extjs新手,开始想的实现方式是另外再创建一个新的grid类来存放查询出的数据(就是有几个分类查询就创建几个grid类),这 ...

随机推荐

  1. python爬虫心得(第一天)

    爬虫是什么? 我个人觉得用简单通俗的话来说就是在浏览网页的过程中将有价值的信息下载到本地硬盘或者是储存到数据库中的行为. 爬虫的基础认知 可以参考此链接:https://www.imooc.com/a ...

  2. jenkins使用(4)-发邮件

    邮箱配置 邮件触发器:达到条件就会发邮件 对单独的服务设置邮件 系统设置如下 回到单个任务的设置 配置中的主题设置如下: 回到单个任务的设置 配置中如下: 选择工作空间中的一个文件 发送多个附件: 邮 ...

  3. jenkins使用(3)-设置定时任务

    配置时间如果错误,代码不会运行 *表示任意时刻

  4. [洛谷P3366] [模板] 最小生成树

    存个模板,顺便复习一下kruskal和prim. 题目传送门 kruskal 稀疏图上表现更优. 设点数为n,边数为m. 复杂度:O(mlogm). 先对所有边按照边权排序,初始化并查集的信息. 然后 ...

  5. 修改npm安装的全局路径和配置环境变量

    我之前安装npm时全是默认安装,模块全部安装在C盘了,今天心血来潮,把路径改到了D盘,结果改完后模块都不能识别了,都提示XX模块不是内部命令,这其实是环境变量配置的问题,我都是按照网上的教程改的环境变 ...

  6. response 画验证码

    代码 import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.Bu ...

  7. 解决appium升级后不支持使用name定位的问题

    前言 之前一直用的appium1.4版本,最近升级到了1.6突然发现之前的脚本好多都跑失败了,一看报错: selenium.common.exceptions.InvalidSelectorExcep ...

  8. Linux用户与用户组的关系

    一.用户和用户组文件 1. /etc/passwd:所创建的用户账号和信息均存放在次文件中,所有用户可读取: 最后一个字段的值一般为/sbin/nologin,表示该账号不能用来登陆linux系统: ...

  9. loadrunner通过web的post请求方法测接口

    loadrunner通过web的post请求方法测接口 loginapi() 模拟APP发送请求给Cloud, Action() "Name=input","Value= ...

  10. Ftp Centos · GitBook

    これよくない pyftpdlibをつかおう sudo easy_install pyftpdlib nohup python -m pyftpdlib > pyftpdlib.log 2> ...