ExtJs Grid分页时序号自增的实现,以及查询以后的序号的处理

ExtJs Grid分页时,默认情况下每页的序号都是从1起始的,这往往不符合我们的习惯。这里实现了序号的自动增加。

如:每页20条第一页从1开始,第二页从21条开始。

 先定义一个全局变量如record_start = 0,这里记得赋初始值主要是考虑第一次加载。

在Ext.grid.ColumnModel内创建一个序号列rownumber 

 

new Ext.grid.RowNumberer({
    header: '序号',
     40,
    renderer: function(value, metadata, record, rowIndex){
        return record_start + 1 + rowIndex;
    }
})

 然后在gridpanel内的PagingToolbar内添加doLoad事件

 

bbar: new Ext.PagingToolbar({
        pageSize: 21,
        store: ds,
        displayInfo: true,
        displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
        emptyMsg: "没有记录",
        doLoad: function(start){
            record_start = start;
            var o = {}, pn = this.paramNames;
            o[pn.start] = start;
            o[pn.limit] = this.pageSize;
            o[pn.departName] = departName;
            o[pn.industry] = industry;
            o[pn.pointDepart] = pointDepart;
            this.store.load({
                params: o
            })
        }
    })

这样就可以实现效果了。

如果如果需要查询重新加载数据的时候需要将

record_start = 0,否则查询结果中第一次加载的是查询前最后一次加载的序号。

原文地址:https://www.cnblogs.com/biandande/p/2244613.html