关于Ext中pagingToolbar设置每页显示条数的问题

u010821420 2013-08-02 07:24:07
我用的是Ext4.2版本,这个问题困扰我几天了,首先看设置pagingToolbar的代码
Ext.namespace('Ext.ui.plugins');

Ext.ui.plugins.ComboPageSize = function(config) {
Ext.apply(this, config);
};

Ext.extend(Ext.ui.plugins.ComboPageSize, Ext.util.Observable, {

pageSizes : [5, 10, 15, 20],
prefixText : '每页显示',
postfixText : '条',
addToItem : true, // true添加到items中去,配合index;false则直接添加到最后
index : 10, // 在items中的位置
init : function(pagingToolbar) {
var ps = this.pageSizes;
var combo = new Ext.form.ComboBox({
typeAhead : true,
triggerAction : 'all',
lazyRender : true,
mode : 'local',
width : 50,
store : ps,
enableKeyEvents : true,
editable : true,
loadPages : function() {
var rowIndex = 0;
var gp = pagingToolbar.findParentBy(function(ct,
cmp) {
return (ct instanceof Ext.grid.GridPanel)
? true
: false;
});
var sm = gp.getSelectionModel();
if (undefined != sm && sm.hasSelection()) {
if (sm instanceof Ext.grid.RowSelectionModel) {
rowIndex = gp.store.indexOf(sm
.getSelected());
} else if (sm instanceof Ext.grid.CellSelectionModel) {
rowIndex = sm.getSelectedCell()[0];
}
}
rowIndex += pagingToolbar.cursor;
pagingToolbar.doLoad(Math.floor(rowIndex/ pagingToolbar.pageSize)* pagingToolbar.pageSize);

},
listeners : {
select : function(c, r, i) {
pagingToolbar.pageSize = ps[i];
this.loadPages();
},
blur : function() {
var pagesizeTemp = Number(this.getValue());
if (isNaN(pagesizeTemp)) {
this.setValue(pagingToolbar.pageSize);
return;
}
pagingToolbar.pageSize = Number(this.getValue());
this.loadPages();
}
}
});
if (this.addToItem) {
var inputIndex = this.index;
if (inputIndex > pagingToolbar.items.length)
inputIndex = pagingToolbar.items.length;
pagingToolbar.insert(++inputIndex, '-');
pagingToolbar.insert(++inputIndex, this.prefixText);
pagingToolbar.insert(++inputIndex, combo);
pagingToolbar.insert(++inputIndex, this.postfixText);
} else {
pagingToolbar.add('-');
pagingToolbar.add(this.prefixText);
pagingToolbar.add(combo);
pagingToolbar.add(this.postfixText);
}
pagingToolbar.on({
beforedestroy : function() {
combo.destroy();
},
change : function() {
combo.setValue(pagingToolbar.pageSize);

}
});

}
})

应用到grid的时候我点击combo的时候报错说没有doLoad的方法怎么解决啊。。。。。。。。。。。
...全文
662 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
志在必得008 2013-11-23
  • 打赏
  • 举报
回复
不知道你解决了没有,可以加我qq一起交流 19788280

10,608

社区成员

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

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