양식에 콤보 상자에 문제가 있습니다. 문제는 양식 데이터를로드 할 때 (form.loadRecord
) 가끔 콤보 상자가 비어 있다고하더라도 모델에 데이터가 있다는 것입니다.ExtJs 콤보 박스 로딩 및 양식
Firebug를 살펴보면 레코드가로드 된 후 콤보 상자가로드 된 것을 볼 수 있습니다. 나는 이것이 이유라고 생각한다. 콤보 박스 상점은 나중에로드되고 레코드가로드된다. 이 문제를 해결하는 일반적인 방법은
//All stores have autoload:true configuration.
var possessionGroundsStore = Ext.create('path.to.store');
var vehicleTypesStore = Ext.create('path.to.store');
var usePurposesStore = Ext.create('path.to.store');
this.editView = Ext.create('path.to.view');
this.editView.getPossessionGroundsField().store = possessionGroundsStore;
this.editView.getVehicleTypeIdComboBox().store = vehicleTypesStore;
this.editView.getUsePurposeField().store = usePurposesStore;
//later
this.editView.loadRecord(record);
있습니까 :
이 내가 콤보 저장소를 설정하는 방법입니까?
내가 볼 수있는 유일한 방법은 모든 combobox 저장소 store.load
콜백을 에 사용하고 모든 저장소를로드 한 후에 loadRecord를 실행하는 것입니다.하지만 복잡해 보입니다.
어떤 도움이 필요합니까?
UPDATE : 내부적 field.setValue()
를 호출이라고 form.loadRecord
. 요점은 setValue
이 호출되기 전에 콤보 상자가 채워 져야한다는 것입니다. 저장소가로드되지 않은 경우 displayField
대신 valueField
이 표시됩니다.
시도 tryAction : '모두'콤보 상자 속성 – AJJ