extjs combobox column布局为什么折叠在一起

本文介绍了一段ExtJS代码中关于组合框ID重复的问题及其解决办法。通过修改两个组合框的ID,解决了因ID重复导致的运行时错误。文章还展示了如何初始化组合框,并配置其属性。

以下是代码:

extjs libriry 3.3.1


/**
 * 人员基本信息查询Form
 */

//--------------------------Combobox

 MyComboBox=Ext.extend(Ext.form.ComboBox,{
	     fieldLabel:null,
	     value:null,
	     triggerAction:"all",
	     displayField:"key",
	     editable:false,
	     name:null,
	     id:null,
	     url:null,
	     hiddenName:'value',
	     valueField:"value",
	     autoLoad:null,
	     mode:null,
	     store:null,
	     width:127,
    	 constructor:function(conf){
         //给以上参数赋值
         this.fieldLabel=conf.fieldLabel;
         this.value=conf.value;
         this.name=conf.name;
         this.id=conf.id;
         this.url=(typeof conf.url) !='undefined'? conf.url : null;
         this.mode=(typeof conf.mode) !='undefined'? conf.mode : 'remote';
         this.valueField=(typeof conf.valueField) !='undefined'? conf.valueField : this.valueField;
         this.displayField=(typeof conf.displayField) !='undefined'? conf.displayField : this.displayField;
         this.width=(typeof conf.width) !='undefined'? conf.width : this.width;
         this.autoLoad=conf.autoLoad;
         
         //store
         if(conf.flag!=0){//非0即真
         this.store=conf.store;	 
         }else{
        	 this.store=new Ext.data.JsonStore({
        		 idProperty: 'value',
    	    	 autoLoad:this.autoLoad,
    	    	 url:this.url,
    	    	 fields:[{name:'key'},{name:"value"}]
    	     });
         }
      
         
         
         //构造
         MyComboBox.superclass.constructor.call(this,{
        	    fieldLabel:this.fieldLabel,
				value:this.value,
				triggerAction:this.triggerAction,
			    displayField:this.displayField,
			    editable:this.editable,
			    valueField:this.valueField,
			    name:this.name,
			    id:this.id,
			    hiddenName:this.hiddenName,
			    store:this.store,
			    width:this.width,
			    mode:this.mode
		 });
         
	 }
 });
 
 


//--------------------------FORM
UserBasicInfoTopForm=Ext.extend(Ext.form.FormPanel,{
	yearCbo:null,//年份cbo
	medicalCompanyCbo:null,//医疗服务单位cbo
	//构造方法
	constructor:function(){
		//intialization year combobox 
		this.initYearCbo();
		//
		this.initMedicalCompanyCbo();
		
		UserBasicInfoTopForm.superclass.constructor.call(this,{
		     region:'north',//位于北边
		     collapsible:true,//是否可以最小
		     //collapsedTitle: true,
		     height:80,
		     title:'人员基本信息查询条件',
		     minSize:50,//最小只能拖到50
		     maxSize:120,//最大120
			 items: [{//a begin
		         xtype : "panel",
			     layout : "column",
			     border : false,
	        	 items:[
						{
					    xtype:"panel",
					    layout:'form',
					    border:false,
					    width:130,
					    labelWidth:55,
					    items:[this.yearCbo]
					    },
					    {
						    xtype:"panel",
						    layout:'form',
						    border:false,
						    width:200,
						    labelWidth:55,
						    items:[this.medicalCompanyCbo]
						}
	        	       ]
			 }]
		});
	},
	//---初始化年度的 Cbo you know
	initYearCbo:function(){
		 this.yearCbo=new MyComboBox({
			 fieldLabel:"报销类型",
			 value:"",
			 name:"dbyear",
			 id:"dbyear",
			 url:"/himp/user_basic_info!queryYearListAjax.action",
			 autoLoad:true,
			 flag:0,
			 width:70
			 });
	},
	//初始化医疗服务单位cbo orgCode
	initMedicalCompanyCbo:function(){
		 this.medicalCompanyCbo=new MyComboBox({
			 fieldLabel:"报销类型",
			 value:"",
			 name:"dbyear",
			 id:"dbyear",
			 url:"/himp/user_basic_info!queryMedicalUnitAjax.action",
			 autoLoad:true,
			 flag:0,
			 width:140
			 });	
	}
});
看出来错误没有,其实是在我copy的时候犯的错误,因为这两个combobox的id是一样的,更改不同的id就好了,

之前的图

修改代码:

/**
 * 人员基本信息查询Form
 */

//--------------------------Combobox

 MyComboBox=Ext.extend(Ext.form.ComboBox,{
	     fieldLabel:null,
	     value:null,
	     triggerAction:"all",
	     displayField:"key",
	     editable:false,
	     name:null,
	     id:null,
	     url:null,
	     hiddenName:'value',
	     valueField:"value",
	     autoLoad:null,
	     mode:null,
	     store:null,
	     width:127,
    	 constructor:function(conf){
         //给以上参数赋值
         this.fieldLabel=conf.fieldLabel;
         this.value=conf.value;
         this.name=conf.name;
         this.id=conf.id;
         this.url=(typeof conf.url) !='undefined'? conf.url : null;
         this.mode=(typeof conf.mode) !='undefined'? conf.mode : 'remote';
         this.valueField=(typeof conf.valueField) !='undefined'? conf.valueField : this.valueField;
         this.displayField=(typeof conf.displayField) !='undefined'? conf.displayField : this.displayField;
         this.width=(typeof conf.width) !='undefined'? conf.width : this.width;
         this.autoLoad=conf.autoLoad;
         
         //store
         if(conf.flag!=0){//非0即真
         this.store=conf.store;	 
         }else{
        	 this.store=new Ext.data.JsonStore({
        		 idProperty: 'value',
    	    	 autoLoad:this.autoLoad,
    	    	 url:this.url,
    	    	 fields:[{name:'key'},{name:"value"}]
    	     });
         }
      
         
         
         //构造
         MyComboBox.superclass.constructor.call(this,{
        	    fieldLabel:this.fieldLabel,
				value:this.value,
				triggerAction:this.triggerAction,
			    displayField:this.displayField,
			    editable:this.editable,
			    valueField:this.valueField,
			    name:this.name,
			    id:this.id,
			    hiddenName:this.hiddenName,
			    store:this.store,
			    width:this.width,
			    mode:this.mode
		 });
         
	 }
 });
 
 


//--------------------------FORM
UserBasicInfoTopForm=Ext.extend(Ext.form.FormPanel,{
	yearCbo:null,//年份cbo
	medicalCompanyCbo:null,//医疗服务单位cbo
	//构造方法
	constructor:function(){
		//intialization year combobox 
		this.initYearCbo();
		//
		this.initMedicalCompanyCbo();
		
		UserBasicInfoTopForm.superclass.constructor.call(this,{
		     region:'north',//位于北边
		     collapsible:true,//是否可以最小
		     //collapsedTitle: true,
		     height:80,
		     title:'人员基本信息查询条件',
		     minSize:50,//最小只能拖到50
		     maxSize:120,//最大120
			 items: [{//a begin
		         xtype : "panel",
			     layout : "column",
			     border : false,
	        	 items:[
						{
					    xtype:"panel",
					    layout:'form',
					    border:false,
					    width:130,
					    labelWidth:55,
					    items:[this.yearCbo]
					    },
					    {
						    xtype:"panel",
						    layout:'form',
						    border:false,
						    width:200,
						    labelWidth:55,
						    items:[this.medicalCompanyCbo]
						}
	        	       ]
			 }]
		});
	},
	//---初始化年度的 Cbo you know
	initYearCbo:function(){
		 this.yearCbo=new MyComboBox({
			 fieldLabel:"报销类型",
			 value:"",
			 name:"dbyear",
			 id:"dbyear",
			 url:"/himp/user_basic_info!queryYearListAjax.action",
			 autoLoad:true,
			 flag:0,
			 width:70
			 });
	},
	//初始化医疗服务单位cbo orgCode
	initMedicalCompanyCbo:function(){
		 this.medicalCompanyCbo=new MyComboBox({
			 fieldLabel:"报销类型",
			 value:"",
			 name:"orgCode",
			 id:"orgCode",
			 url:"/himp/user_basic_info!queryMedicalUnitAjax.action",
			 autoLoad:true,
			 flag:0,
			 width:140
			 });	
	}
});

修改之后的效果:



【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值