Ext.PagingToolbar下:/** * Refresh the current page, has the same effect as clicking the 'refresh' button. */ doRefresh : function(){ this.doLoad(this.cursor); },这不就是刷新的代码么.
doRefresh : function(){ var me = this, current = me.store.currentPage; if (me.fireEvent('beforechange', me, current) !== false) { me.store.loadPage(current); } },
{start : 0, limit : 20}
如果是第二页就
userInfoStore.load({params : {start : 2, limit : 20}});
以此类推白
当用户翻页以后 怎么知道用户停留在第几页 ?动态去改变start ?
onLoad : function(store, r, o){
if(!this.rendered){
this.dsLoaded = [store, r, o];
return;
}
var p = this.getParams();
this.cursor = (o.params && o.params[p.start]) ? o.params[p.start] : 0;
var d = this.getPageData(), ap = d.activePage, ps = d.pages; this.afterTextItem.setText(String.format(this.afterPageText, d.pages));
this.inputItem.setValue(ap);
this.first.setDisabled(ap == 1);
this.prev.setDisabled(ap == 1);
this.next.setDisabled(ap == ps);
this.last.setDisabled(ap == ps);
this.refresh.enable();
this.updateInfo();
this.fireEvent('change', this, d);
}这段代码就是翻页操作,你可以重写这个方法,做法是:// 自定义翻页方法
Ext.PagingToolbar.prototype.doLoad = function(start) {
// ...
}
var o = {}, pn = this.getParams();
o[pn.start] = start;
o[pn.limit] = this.pageSize;
if(this.fireEvent('beforechange', this, o) !== false){
this.store.load({params:o});
}
}源码文件不大 好好看下应该看得懂的.
* Refresh the current page, has the same effect as clicking the 'refresh' button.
*/
doRefresh : function(){
this.doLoad(this.cursor);
},这不就是刷新的代码么.
var me = this,
current = me.store.currentPage; if (me.fireEvent('beforechange', me, current) !== false) {
me.store.loadPage(current);
}
},
不好意思 再问一个问题 在我的项目中 我应该上哪去改这段代码呢 ?
搜索了整个项目的目录 没有 PagingToolbar.js 文件呀 ..
就是把参数 start的值改成this.cursor
其中的this换成bbar控件 代码如下:
var paging = new com.panels.CurrencyPaging({ store : userInfoStore });
userInfoStore.load({params : {start : paging.cursor, limit : 20}});
http://blog.csdn.net/liziandf/article/details/6697166