2014-03-27 1 views
1

빈 텍스트 값 대신 콤보에 표시 필드 값을 표시하려고합니다. 이것을 어떻게 할 수 있습니까? 데이터는 로컬 서버를 통해 콤보로 채워집니다. 리스너를 구현하려고했지만 출력에 변화가 없습니다.빈 대신 displayField 값 표시 콤보 상자의 텍스트 Extjs 4

listener: { 

    beforeRender:function(boxs1) { 
    //if(!this.allowBlank) { 
     var r1 = findRecordByDisplay(CIVIL) ; 
     Ext.getCmp('boxs1').setValue(fullName); 
    //} 
    } 
} 
+0

왜를 설정하지 알고있다 'value'속성을 통한 초기 값? – triclozan

+0

@triclozan 예, 우리는 할 수 있지만 이런 식으로하려고합니다. – Wadhawan994

답변

0

값을 설정하려면 render 또는 afterrender 이벤트를 사용하십시오.

listener:{ 
    afterrender:function(boxs1){ 
     //if(!this.allowBlank){ 
     var r1 = findRecordByDisplay(CIVIL) ; 
     Ext.getCmp('boxs1').setValue(fullName); 
    //} 
    } 
} 
+0

나를 위해 작동하지 않습니다 – Wadhawan994

+0

어떤 종류의 오류가 발생했습니다. – Naresh

+0

findRecordByDisplay 및 fullName은 무엇입니까? – Naresh

1

이 시도하십시오

Ext.onReady(function(){ 
Ext.QuickTips.init(); 
Ext.namespace('Ext.exampledata'); 
Ext.exampledata.zone = [ 
['us', 'US', 'US Zone'], 
['japan', 'JAPAN', 'Japan Zone'], 
['eu', 'EUROPE', 'Europe Zone'] 
]; 
var test= new Ext.form.ComboBox({ 
    id:'appwarpZoneId', 
    fieldLabel: 'Zone', 
    hiddenName:'zone', 
    renderTo:'sid', 
    store: new Ext.data.ArrayStore({ 
     fields: ['abbr', 'zone'], 
     data : Ext.exampledata.zone 
    }), 
    valueField:'abbr', 
    value:'us', 
    emptyText : 'Please Select ...', 
    displayField:'zone', 
    typeAhead: true, 
    mode: 'local', 
    editable:false, 
    triggerAction: 'all', 
    selectOnFocus:true, 
    anchor: '25%' 
}) 
}); 
+0

저는 로컬 저장소를 통해 데이터를 채우지 않고 리스너를 통해서만이 작업을 구현하려고합니다. – Wadhawan994

0

당신이

setRawValue() => displayField

의 setValue() => valueField