2013-09-06 1 views
0

remote으로 설정된 extjs 콤보 상자가 있습니다. typeAhead 기능도 필요합니다. 그러나이 경우에는 형언 할 수 없습니다. 콤보 상자에 텍스트를 입력 한 후에도 저장소가 원래 데이터로 다시로드됩니다.extjs : combobox typeahead가 querymode : remote와 작동하지 않습니다.

var queryStore = Ext.create('Ext.data.Store', { 
//autoLoad: true, 
model: 'UserQuery', 
proxy: { 
    type: 'ajax', 
    url: 'queryBuilder_getQueryList', 
    extraParams: { 
     tableId: this.title 
    }, 
    reader: { 
     type: 'json' 
    } 
}, 
listeners: { 
    load: function() { 
     var combo = Ext.getCmp('cmbQueryList'); 
     var lst = this.last(); 
     if (lst)combo.setValue(lst.data); 
    } 
} 

}); 


var queryCombo = new Ext.form.ComboBox({ 
    width: 200, 
    id: 'cmbQueryList', 
    store: queryStore, 
    valueField: 'queryID', 
    displayField: 'queryName', 
    typeAhead: true, 
    forceSelection: true, 
    emptyText: 'Select Query...', 
    queryMode: 'remote', 
    triggerAction: 'query', 
    selectOnFocus: true, 
    allowBlank: false, 
    editable: true 
}); 

내가 선행 입력 및 querymode 리모컨이 함께 작동하도록 어떻게 제안하십시오 :

여기 내 코드입니다.

답변

0

나를 위해이 코드 코킹. 당신의 저장소 속성 autoload 사실입니다 그래서 당신이 콤보 상자를 선택하려고 할 때 서버에 가서 데이터를 다시로드 할 것 같아요. 사실 상점 자동로드의 속성을 삭제하십시오. 그럼 그 일.

new Ext.form.ComboBox({ 

    fieldLabel:'Apps', 
    displayField: 'name', 
    valueField: 'id', 
    typeAhead: true, 
    listWidth : 345, 
    store: myStore(), 
    forceSelection: true, 
    triggerAction: 'all', 
    mode:'remote', 
    maxLength: 50, 
    editable: false, 
    anchor : '90%', 
    selectOnFocus:true 

}), 
+0

나는 store의 autoLoad 속성을 false로 설정했습니다. 아직도 변화 없음. 콤보 상자에 텍스트를 입력 할 때마다 저장소가 다시로드되고 콤보 상자가 초기화됩니다 (입력 된 텍스트는 지워짐) – DarkKnightFan

+0

원래 질문 – DarkKnightFan

+0

btw에 내 저장소를 추가했습니다. 어떻게하면 'typeAhead : true'와 'editable : false' !!! – DarkKnightFan

0

다음 코드는 저에게 효과적입니다. modequeryMode ~ local을 지정해야합니다.

var queryCombo = new Ext.form.ComboBox({ 
    width: 200, 
    id: 'cmbQueryList', 
    store: queryStore, 
    valueField: 'queryID', 
    displayField: 'queryName', 
    emptyText: 'Select Query...', 
    queryMode: 'local', 
    mode: 'local' 
});