我有一个无法修改的 java web 服务。它产生像这样的xml:
<query>
<entity TYPE="Location">
<value TYPE="Id"/>
<value TYPE="Class"/>
<value TYPE="Name"/>
</entity>
<entity TYPE="Activity">
<value TYPE="Id"/>
<value TYPE="Date"/>
<value TYPE="Duration"/>
</entity>
</query>
我需要将 xml 放入树存储中,实体将是文件夹,值将作为叶子。我试图用关系描述 2 个模型:
Ext.define( 'modelEntity' , {
extend : 'Ext.data.Model' ,
proxy: {
type: 'ajax',
url: 'query.xml', //just for tests
reader: { type: 'xml' , root: 'query' , record: 'entity' } ,
},
fields: [
{ name: 'leaf' , type: 'boolean', defaultValue: true} ,
{ name: 'text' , type: 'string', mapping: '@TYPE'}
],
hasMany: { model: "modelValue", name: "value", }
});
Ext.define( 'modelValue' , {
extend : 'Ext.data.Model' ,
fields: [
{ name: 'leaf' , type: 'boolean', defaultValue: true} ,
{ name: 'text' , type: 'string', mapping: '@TYPE'}
],
belongsTo: "modelEntity"
});
有一个树店和一个树形面板:
Ext.define('storeQuery' , {
extend: 'Ext.data.TreeStore',
model: 'modelEntity',
root: {
expanded: true,
leaf: false,
children: []
},
autoLoad: false
});
Ext.create('Ext.tree.Panel', {
store: Ext.create('storeQuery'),
rootVisible: false
......
});
显然它不起作用,只显示实体,它们的子节点不显示。请帮帮我 !=)