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