Ext.form.ComboBox 편집 페이지 표시 값 문제

2895 단어 EXT
최근 EXTJS 3.0 개발 프로젝트, 페이지 폼에 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='';
               

 

좋은 웹페이지 즐겨찾기