extjs4 pagingtoolbar refresh button 扩展

最近在学习extjs4,当用到pagingtoolbar的刷新按钮时出现了大问题,网上搜索了好几天终于解决了,现分享出来。


//这是api中的例子创建的分页例子。
var panel = Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: store,
columns: [
{ header: 'Name', dataIndex: 'name' },
{ header: 'Email', dataIndex: 'email', flex: 1 },
{ header: 'Phone', dataIndex: 'phone' }
],
width: 400,
height: 125,
dockedItems: [{
xtype: 'pagingtoolbar',
store: store, // same store GridPanel is using
dock: 'bottom',
displayInfo: true
}],
renderTo: Ext.getBody()
});


我遇到的问题是当点击刷新按钮时所有数据都清空了,很是郁闷啊,网上这方面的资料也很少,针对extjs4的就少的可怜了,有很多人提出的想法是把这个刷新按钮隐藏掉,先看看这种解法吧。


//大致的意思是找到刷新按钮的节点然后隐藏它
var length = panel.dockedItems.keys.length;
var refreshStr= "";
for (var i = 0; i < length; i++) {
if (panel.dockedItems.keys[i].indexOf("pagingtoolbar") !== -1) {
refreshStr= panel.dockedItems.keys[i];
}
}
panel.dockedItems.get(refreshStr).child('#refresh').hide(true);

[img]http://dl.iteye.com/upload/attachment/0070/2492/a96c5f6e-f970-34df-bb98-cbd4d910c38b.jpg[/img]

这种方法的却可以将刷新按钮隐藏,不过个人不喜欢隐藏掉,本来提供了一个很好的功能,然后人为的去掉感觉有点可惜,那么到了这里凭感觉想一下也应该可以修改它的处理方法啊,既然它是一个button,那么去api中看看吧,找了一会我发现了一个方法setHandler,一看到这个名字就很兴奋啊,问题应该可以解决了吧。

//将上文中的最后一句修改成
panel.dockedItems.get(refreshStr).child('#refresh').setHandler(
function() {
alert('You clicked the button!');
//添加自己的处理方式
}
);


[img]http://dl.iteye.com/upload/attachment/0070/2494/41ea5e2d-f187-3b46-90b5-629a51fa3e17.jpg[/img]


这样就大功告成了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值