2

変更できない 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"
});

1 つの treestore と treepanel を使用:

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
    ......
});

明らかに機能しません。エンティティのみが表示され、その子ノードは表示されません。お願い助けて !=)

4

0 に答える 0