读书人

ext combobox默许展示store数据

发布时间: 2012-09-03 09:48:39 作者: rapoo

ext combobox默认展示store数据
项目中需要用到给combobox赋初始值的问题,该初始值并不确定,想控制为store的第一行数据。
试了一些方法,比如监听combobox中的render事件,但是由于是异步加载,在render的时候,数据并未获得。最后改为监听store的load事件搞定。
代码如下:

/** * @note 获取枚举值 * @params enumType 数据库中枚举值类型 comId 控件comboboxID isNeed 第一行数据是否需要默认展示(1-展示) * @time 2012-02-23 * **/disn.utils.getEnums=function(enumType,comId,isNeed){var myEnums = new Ext.data.JsonStore({url:BIZCTX_PATH+"/favtype!listEnumDict.action?enumType="+enumType,root: 'listEnumDict',autoLoad:true, //fields: [{name:'value',mapping:'enumValue'},{name:'text',mapping:'enumName'}],listeners: {            load : function(combo) {//监听load事件,为combobox赋初始值,store第一行          if(isNeed && isNeed == "1"){//store.each(function(record){});//如果不确定需要默认展示的值,可以先进行store的遍历。          Ext.getCmp(comId).setValue(this.data.items[0].data.value);          }          }      } });return myEnums;};var layoutPanel1 = ColumnPanelHelper.createLayoutPanel(2);     layoutPanel1.push({            xtype: "combo",            labelStyle: "width:130px;",            width: 150,            hasAll:true,            codeType:"city",            fieldLabel: "填报城市",store:disn.utils.getEnums('CITY_ID','favIndex.cityId','1'),mode:"local",displayField:"text",             valueField:"value", triggerAction: "all",            id:"favIndex.cityId",            name:"favIndex.cityId",            readOnly:true });

读书人网 >Web前端

热点推荐