Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS树多模型(嵌套)_Extjs_Tree_Extjs4 - Fatal编程技术网

ExtJS树多模型(嵌套)

ExtJS树多模型(嵌套),extjs,tree,extjs4,Extjs,Tree,Extjs4,我有一个异步加载的树。我有两种型号,经理和用户 管理器可以是父节点或叶节点,但用户只能是叶节点。所以,一个管理者可以有任意数量的管理者在他之上或之下,但我只能是一个管理者的孩子 我已经为用户和管理器模型设置了代理,并将管理器设置为TreeStore的模型参数。我试着用hasMany和belongsTo来描述这种关系,希望每次我扩展一个节点时,都会发送一个给用户和经理的get。它不起作用了。我只找经理,不找用户 有人对处理这类关系有什么建议吗?创建一个新的模型“Employee”,该模型将有一个属

我有一个异步加载的树。我有两种型号,经理和用户

管理器可以是父节点或叶节点,但用户只能是叶节点。所以,一个管理者可以有任意数量的管理者在他之上或之下,但我只能是一个管理者的孩子

我已经为用户和管理器模型设置了代理,并将管理器设置为TreeStore的模型参数。我试着用hasMany和belongsTo来描述这种关系,希望每次我扩展一个节点时,都会发送一个给用户和经理的get。它不起作用了。我只找经理,不找用户


有人对处理这类关系有什么建议吗?

创建一个新的模型“Employee”,该模型将有一个属性IsUser,并加载到经理和用户列表中,即:

   Ext.regModel('Employee', {
        fields: [
            { name: 'ID', type: 'int' },
            { name: 'Name', type: 'string' },
            { name: 'LastName', type: 'string' },
            //....
            { name: 'IsUser', type: 'int' }
        ]
    });
用于填充的SQL查询应如下所示:

SELECT id, name, lastname, 0 as IsUser

FROM managers ...

UNION

SELECT id, name, lastname, 1 as IsUser

FROM users ...

好的,您需要向服务器发送一些参数,以便它能够确定哪个节点正在打开。和树打交道是***的痛苦。也许你可以分享你的代码,这样我们可以帮助你。我几天前也遇到过同样的问题。搜索之后,我发现ExtJS 4 TreePanel只支持一个模型,根据sencha论坛上的回答,看看答案8,它来自sencha开发人员:这只是一个更新,因为它获得了一些视图。最后,我使用了一个单独的调用来填充树,并为每个节点传递了一个参数,将其标识为管理器、用户等。然后,每当在树上执行CRUD操作时,相应的存储也会更新。