사용자가 값을 선택하고 해당 값이 확인란 데이터 저장소로 전달되고 데이터베이스 (Oracle)에서 동적으로 채워지는 콤보 상자가 있습니다. 나는 아래 코드를 시도했다. 선택한 매개 변수가 확인란에 전달되고 콘솔에 데이터가 채워지는 것을 볼 수 있습니다. 폼의 확인란을 렌더링 할 수 없습니다. 내가 얻는 오류 : typeError : this.items [0] 정의되지 않았습니다.extjs의 체크 박스를 사용하여 동적 데이터 표시
testArray = new Array();
var testStore = new Ext.data.JsonStore({
proxy:new Ext.data.HttpProxy({
method:'GET',
prettyUrls:false,
url:'kiu.htm',
listeners:{
'loadexception':{
fn:test.form.data.loadException
}
}
}),
fields:["id", "display"],
reader:new Ext.data.JsonReader({
id:'id',
root:'results',
totalProperty:'totalCount',
fields:new Ext.data.Record.create([
{name:'id',type:'int'},
{name:'display',type:'string'}
])
}),
listeners:{
load: function(t, records, options, success) {
for(var i=0; i<records.length; i++) {
testArray.push({name:records[i].data.id, boxLabel: records[i].data.display});
alert(testArray[i].id);
}
}
}
});
{
xtype:'combo',
id:'comboid3',
store:combostore,
displayField:'display',
valueField:'id',
tabIndex:1,
loadingText:'Loading combo...',
listeners :{
select:function(event){
testStore.baseParams = {
"comboid":Ext.getCmp('comboid3').getValue()
};
testStore.load();
}
}
},
{
xtype:'checkboxgroup',
fieldLabel:'Check',
items:testArray
}
도움을 받으실 수 있습니다!
버전은 3.1입니다. 위의 코드를 수정했습니다. 이제 체크 박스 저장소에 데이터가 채워지는 것을 볼 수 있습니다. 화면에 렌더링 할 수 없습니다. @ 리치 워터스 – redds1