解决RadioGroup和CheckboxGroup的不能赋值问题

在Ext2.2的Ext.form.FormPanel中如果有RadioGroup或者CheckboxGroup,那么FormPanel.form.setValues方法对这2个东东内部的radio和checkbox无法动态赋值,需要对Ext.form.BasicForm的findField方法进行修正,代码如下:

 

 

Ext.override(Ext.form.BasicForm,{   
    findField : 
function(id){           
        
var field = this.items.get(id);           
        
if(!field){   
            
this.items.each(function(f){   
                
if(f.isXType('radiogroup')||f.isXType('checkboxgroup')){   
                    f.items.each(
function(c){   
                        
if(c.isFormField && (c.dataIndex == id || c.id == id || c.getName() == id)){   
                            field 
= c;   
                            
return false;   
                        }   
                    });   
                }   
                                   
                
if(f.isFormField && (f.dataIndex == id || f.id == id || f.getName() == id)){   
                    field 
= f;   
                    
return false;   
                }   
            });   
        }   
        
return field || null;   
    }    
});

 

posted @ 2009-07-22 14:39  meetrice  阅读(1966)  评论(0编辑  收藏  举报