Ext.form.ComboBox编辑页面显示值问题

     最近用EXTJS 3.0开发项目,页面form表单中使用了ComboBox,

 var _typestore = new Ext.data.Store({
                    proxy : new Ext.data.HttpProxy({url:'basecodeType!getJson.action'}),
                    reader: new Ext.data.JsonReader({
                        root: 'records',
                        totalProperty: 'totalCount',
                        id: 'basecodeTypeid',
                        fields: [
                            {name: 'basecodeTypeid'},
                            {name: 'name'}
                        ]
                    }),
                    remoteSort: true                    
                });
                 _typestore.load({params:{start:0,limit:6,sort:'basecodeTypeid',dir:'desc'}});

                var _type=new Ext.form.ComboBox({
                    id:'basecodetype',
                    fieldLabel: '辅助编码类型',
                    name: 'basecode.basecodetype.basecodeTypeid',
                    hiddenName :'basecode.basecodetype.basecodeTypeid',
                    editable:false,//默认true,禁止手写和联想功能
                    typeAhead: true,
                    triggerAction: 'all',
                    lazyRender:true,
                    mode: 'remote',//指定数据加载方式:remote服务器,local客户端
                    emptyText:'--请选择--',
                    width: 210,
                    store: _typestore,
                    valueField:'basecodeTypeid' ,
                    displayField: 'name',
                    pageSize:6
                });
 

 

如何 在进入编辑页面的时候能显示后台传来的值?测试了三种方法均通过,现将其总结如下:

第一种:在_typestore中添加

listeners :{
                        load:function(){
                            Ext.getCmp('basecodetype').setValue(${basecode.basecodetype.basecodeTypeid});
                        }
                    }

 第二种:添加

 _type.on('afterrender',function(){
                   
                    Ext.get('basecodetype').dom.value='';
                    Ext.get('basecode.basecodetype.basecodeTypeid').dom.value='';
                });

 注意:'basecodetype'对应ComboBox的id;

          'basecode.basecodetype.basecodeTypeid'对应ComboBox的hiddenName

第三种,所在表单form渲染后,可以不用放在事件里,而是直接添加

 Ext.get('basecodetype').dom.value='';
                    Ext.get('basecode.basecodetype.basecodeTypeid').dom.value='';
               

 

 

你可能感兴趣的:(EXT)