Ext 编辑FormPanel时,根据带入的值选中CheckBoxGroup

问题描述:
Ext 2.2中的CheckBoxGroup组件有点问题,FormPanel加载的数据无法选中CheckBox

解决方法:
1、给CheckboxGroup打一个补丁

Ext.override(Ext.form.CheckboxGroup, {
getNames : function() {
var n = [];

this.items.each(function(item) {
if (item.getValue()) {
n.push(item.getName());
}
});

return n;
},

getValues : function() {
var v = [];

this.items.each(function(item) {
if (item.getValue()) {
v.push(item.getRawValue());
}
});

return v;
},

setValues : function(v) {
// var r = new RegExp('(' + v.join('|') + ')');

this.items.each(function(item) {
var rawVal = item.getRawValue();
if (v.contains(rawVal)) {//Contains为自定义扩展
item.setValue(true);
}else{
item.setValue(false);
}
});
}
});


2、在FormPanel加载数据完成后,调用CheckboxGroup的setValues(arr)方法,设置checkbox的选中状态,代码如下:
index.adWin.doLoadLocalForm(record);
//手动设置CheckBox的值
if(record.get('ctrolArea')==0){//不控制地区
Ext.getCmp('ctrolAreaGroupCmp').setValues([0]);
}else{
Ext.getCmp('ctrolAreaGroupCmp').setValues(record.get('adArea'));
}
if(record.get('ctrolSiteType')==0){//不控制网站类型
Ext.getCmp('ctrolSiteTypeGroupCmp').setValues([0]);
}else{
Ext.getCmp('ctrolSiteTypeGroupCmp').setValues(record.get('adSiteType'));
}


参考:[url]http://www.extjs.com/forum/showthread.php?t=39161 [/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值