在extjs中使用复选框显示动态数据
我有一个组合框,用户在其中选择一个值,该值被传递到checkbox数据存储,并从数据库(oracle)动态填充。我尝试了下面的代码。似乎所选参数正在传递给复选框,我可以看到控制台上正在填充数据。我只是无法在表单上呈现复选框。我得到的错误是:typeError:this.items[0]未定义在extjs中使用复选框显示动态数据,extjs,Extjs,我有一个组合框,用户在其中选择一个值,该值被传递到checkbox数据存储,并从数据库(oracle)动态填充。我尝试了下面的代码。似乎所选参数正在传递给复选框,我可以看到控制台上正在填充数据。我只是无法在表单上呈现复选框。我得到的错误是:typeError:this.items[0]未定义 testArray = new Array(); var testStore = new Ext.data.JsonStore({ proxy:new Ext.data.Ht
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
}
testArray=newarray();
var testStore=new Ext.data.JsonStore({
代理:新Ext.data.HttpProxy({
方法:'GET',
prettyURL:false,
网址:'kiu.htm',
听众:{
“加载异常”:{
fn:test.form.data.loadException
}
}
}),
字段:[“id”,“显示”],
阅读器:新的Ext.data.JsonReader({
id:'id',
根:'results',
totalProperty:'totalCount',
字段:新建Ext.data.Record.create([
{name:'id',type:'int'},
{名称:'display',类型:'string'}
])
}),
听众:{
加载:函数(t、记录、选项、成功){
对于(var i=0;i来说,指定ExtJS版本总是很有帮助的。它似乎必须是2.x或3.x,而不是当前版本
问题是计时,加载调用是异步的,因此尝试以这种方式使用testArray时,在它解析checkboxgroup的items属性时,您可能引用了一个空数组。在这方面,您有两个选项…一个是获取对复选框组的引用并将这些项添加到其中,另一个是不获取将复选框组始终放在表单中,直到调用返回,然后将其与填充的项数组一起添加。在任何一种情况下,您都可能需要从load handler函数中查找对FormPanel或CheckboxGroup的组件引用,并调用“add”方法添加子项。版本为3.1.I modi现在,我可以在复选框存储中看到填充的数据,我只是无法在屏幕@Rich Waters上呈现它