2014-06-10 2 views
0

내 콤보 상자에서 json 저장소의 반환 값을 setValue로 가져 오려고합니다. 이 json 값의 값은 데이터베이스에서 현재 선택된 옵션입니다. 내 this.selectedCat 저장소는 작업중인 레코드의 현재 범주 값을 반환합니다. my.store는 사용 가능한 모든 선택 옵션을 반환합니다.콤보 상자의 기본값 (저장소의 값으로)

var fields = { 
    fields: ['text'] 
}; 
var notfields ={ 
    fields:['category'] 
} 
this.store = new GO.data.JsonStore({ 
    url: GO.settings.modules.infoscherm.url + 'json.php', 
    baseParams:{ 
    task:'selects' 
    }, 
    root: 'results', 
    fields: fields.fields 
}); 

    this.selectedCat = new GO.data.JsonStore({ 
    url: GO.settings.modules.infoscherm.url + 'json.php', 
    baseParams: { 
    task:'currentselectedcat', 
    id:'id' 
    }, 
    root: 'results', 
    fields: notfields.fields 
}); 


    this.category = new Ext.form.ComboBox({ 
    name: 'category', 
    width: 100, 
    store: this.store, 
    fieldLabel: "Categorie", 
    displayField:'text', 
    triggerAction: 'all', 
    editable: false, 
    selectOnFocus:true, 
    value: this.selectedCat //returns [object Object] naturally 
}); 

내가 잘못하고 있나?

답변

0

"Ext.data.JsonStore"의 "load"이벤트를 듣기 시작해야한다고 생각합니다. 그리고 "load"이벤트의 첨부 된 처리기는 콤보 박스 객체의 "setValue"함수를 사용하여 특정 값을 선택하는 코드를 포함합니다 ...

P.S. : 스토어 값은 콤보 박스 드롭 다운 메뉴에서 사용할 수 있습니다. 콤보 박스의 "저장"설정을 상점 객체에 구성한 경우에만, "로드"이벤트 처리기 내에서 일부 로직을 구현해야합니다.