extjs radiogroup checkboxgroup 动态生成

目的: 实现radioGroup内的 radio 的动态生成  数据库中radio的数据改动后页面也自动修该,不用再次修改程序

 

//动态绑定RadioGroup
	RadioGroup : function(_name,fLable,itemName,_columns){

		
		//同步获取数据字典数据
		var conn = Ext.lib.Ajax.getConnectionObject().conn;  
	    conn.open("get",  __ctxPath + '/system/loadDictionary.do?itemName='+itemName,false);
	    conn.send(null);   
	    // 成功状态码为200
	    var _items = null;
	    if (conn.status == "200") {
	    	_items = Ext.util.JSON.decode(conn.responseText);
	    }

  	    //动态绑定        
	    var rg = new Ext.form.RadioGroup({
	        name:_name,
	        id : _name,
	    	listeners :{ //开票项目选中时,清空手工填写的开票项目	
				'valid':function(){   
	    			if (_name == 'tykpxm') Ext.getCmp('tykpxmqt').reset();
	    			if (_name == 'jaykpxm') Ext.getCmp('jaykpxmqt').reset();
	    			if (_name == 'hwysykpxm') Ext.getCmp('hwysykpxmqt').reset();
						}
			},
	        fieldLabel:fLable
	    });
	    
	    if(_columns!=null)
	        rg.columns = _columns;
   
	    var items = new Array();
	    if(_items !=null){
	        for(var i = 0 ;i<_items.length; i++)
	        {
	            items[i] = {};
	            items[i].name = _name;
	            items[i].boxLabel = _items[i];
	            items[i].inputValue = _items[i];
	            items[i].hideLabel =true;
//	            if(_items[i].length > 2)
//	                items[i].checked = _items[i];
	        }
	       
	    }
	    
	    rg.setItems(items);
	    
	    return rg;

	  
	},

 

radio的属性值是通过数据字典来维护的,下面为取数的代码

 conn.open("get",  __ctxPath + '/system/loadDictionary.do?itemName='+itemName,false);

 

 checkboxgroup 动态生成的原理是一样的。

 

If you have any questions, please send email to [email protected]

你可能感兴趣的:(ExtJs,RadioGroup,动态生成,checkboxgroup)