ExtJs 怎么知道Grid当前是第几页

jgongcheng 2012-05-24 09:54:03
ExtJs还不怎么熟悉 希望各位前辈多多指教

userInfoStore.load({params : {start : 0, limit : 20}});
比如这样加载一个数据源

怎么获得当前是第几页 然后数据加载后停留在当前页面上
...全文
393 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jgongcheng 2012-06-04
  • 打赏
  • 举报
回复
对了 参考 :
http://blog.csdn.net/liziandf/article/details/6697166
jgongcheng 2012-06-04
  • 打赏
  • 举报
回复
这个问题解决了 在这里也非常感谢大家 具体:
就是把参数 start的值改成this.cursor
其中的this换成bbar控件 代码如下:


var paging = new com.panels.CurrencyPaging({ store : userInfoStore });
userInfoStore.load({params : {start : paging.cursor, limit : 20}});
jgongcheng 2012-06-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
引用 11 楼 的回复:

我发现 Ext.PagingToolbar 就是页面下的 bbar 中有一个刷新按钮 刷新以后会停留在当前页上 网上说这个按钮调用的是 store.load 这个方法 只是我没有找到这个方法的源代码 请高人指教 ..

Ext.PagingToolbar下:

/**
* Refresh the current page, has the same e……
[/Quote]

不好意思 再问一个问题 在我的项目中 我应该上哪去改这段代码呢 ?
搜索了整个项目的目录 没有 PagingToolbar.js 文件呀 ..
燥动的心 2012-06-01
  • 打赏
  • 举报
回复
doRefresh : function(){
var me = this,
current = me.store.currentPage;

if (me.fireEvent('beforechange', me, current) !== false) {
me.store.loadPage(current);
}
},
十四月的清晨 2012-05-31
  • 打赏
  • 举报
回复
你要实现什么效果啊?
jgongcheng 2012-05-30
  • 打赏
  • 举报
回复
我发现 Ext.PagingToolbar 就是页面下的 bbar 中有一个刷新按钮 刷新以后会停留在当前页上 网上说这个按钮调用的是 store.load 这个方法 只是我没有找到这个方法的源代码 请高人指教 ..
猿敲月下码 2012-05-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

我发现 Ext.PagingToolbar 就是页面下的 bbar 中有一个刷新按钮 刷新以后会停留在当前页上 网上说这个按钮调用的是 store.load 这个方法 只是我没有找到这个方法的源代码 请高人指教 ..
[/Quote]
Ext.PagingToolbar下:

/**
* Refresh the current page, has the same effect as clicking the 'refresh' button.
*/
doRefresh : function(){
this.doLoad(this.cursor);
},

这不就是刷新的代码么.
jgongcheng 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
当前第几页:(start / limit) + 1
[/Quote]

我试过以后 发现虽然停留在当前页了 但是不能刷新当前页的数据 ..
jgongcheng 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
当前第几页:(start / limit) + 1
[/Quote]

非常感谢 这个就帮了很大的忙了 ..
lzpggg 2012-05-25
  • 打赏
  • 举报
回复
这两个参数还算不出来当前页?

{start : 0, limit : 20}
jgongcheng 2012-05-25
  • 打赏
  • 举报
回复
问问题的多 回答问题的少 ..
猿敲月下码 2012-05-25
  • 打赏
  • 举报
回复
应该是找到下面这段

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});
}
}


源码文件不大 好好看下应该看得懂的.
猿敲月下码 2012-05-25
  • 打赏
  • 举报
回复
打开源码PagingToolbar.js

找到
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) {
// ...
}
猿敲月下码 2012-05-25
  • 打赏
  • 举报
回复
当前第几页:(start / limit) + 1
jgongcheng 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
userInfoStore.load({params : {start : 0, limit : 20}});

如果是第二页就
userInfoStore.load({params : {start : 2, limit : 20}});
以此类推白
[/Quote]

当用户翻页以后 怎么知道用户停留在第几页 ?动态去改变start ?
我的积分呢 2012-05-25
  • 打赏
  • 举报
回复
userInfoStore.load({params : {start : 0, limit : 20}});

如果是第二页就
userInfoStore.load({params : {start : 2, limit : 20}});
以此类推白
jgongcheng 2012-05-24
  • 打赏
  • 举报
回复
没有人知道?还是分太少了?

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧