Tree 无法在extjs4的树面板中加载数据
我是extjs新手,正在创建MVC应用程序 我试图创建树面板如下 下面是我的模型文件Tree 无法在extjs4的树面板中加载数据,tree,extjs4,extjs-mvc,Tree,Extjs4,Extjs Mvc,我是extjs新手,正在创建MVC应用程序 我试图创建树面板如下 下面是我的模型文件 Ext.define('rt.model.userinproject', { extend: 'Ext.data.Model', proxy: { type: 'memory' }, fields: [ { name: 'text', type: 'string'}, { name: 'id', type: 'Number'} ] }); 下面是我的商店文件 Ext.defi
Ext.define('rt.model.userinproject', {
extend: 'Ext.data.Model',
proxy: {
type: 'memory'
},
fields: [
{ name: 'text', type: 'string'},
{ name: 'id', type: 'Number'}
]
});
下面是我的商店文件
Ext.define('rt.store.userinproject', {
extend: 'Ext.data.TreeStore',
model: 'rt.model.userinproject',
root: {
text: 'Project 1',
id: 1,
expanded: true
},
folderSort: true,
sorters: [{
property: 'text',
direction: 'ASC'
}],
data: [
{
text: "Project 1",
id: 1,
expanded: true,
children: [
{
text: "Department 1",
id: 1,
cls: "folder",
children:[
{
text: "User 1",
id: 1,
leaf:true
},
{
text: "User 2",
id: 2,
leaf:true
},
{
text: "User 3",
id: 3,
leaf:true
},
{
text: "User 4",
id: 4,
leaf:true
},
{
text: "User 5",
id: 5,
leaf:true
}
]
},
{
text: "Department 2",
id: 2,
cls: "folder",
children:[
{
text: "User 6",
id: 6,
leaf:true
},
{
text: "User 7",
id: 7,
leaf:true
},
{
text: "User 8",
id: 8,
leaf:true
},
{
text: "User 9",
id: 9,
leaf:true
},
{
text: "User 10",
id: 10,
leaf:true
}
]
},
{
text: "Department 3",
id: 2,
cls:"folder",
children:[
{
text: "User 11",
id: 11,
leaf:true
},
{
text: "User 12",
id: 12,
leaf:true
},
{
text: "User 13",
id: 13,
leaf:true
},
{
text: "User 14",
id: 14,
leaf:true
},
{
text: "User 15",
id: 15,
leaf:true
}
]
}
]
},
{
text: "Project 2",
id: 1,
expanded: true,
children: [
{
text: "Department 1",
id: 1,
cls: "folder",
children:[
{
text: "User 1",
id: 1,
leaf:true
},
{
text: "User 2",
id: 2,
leaf:true
},
{
text: "User 3",
id: 3,
leaf:true
},
{
text: "User 4",
id: 4,
leaf:true
},
{
text: "User 5",
id: 5,
leaf:true
}
]
},
{
text: "Department 2",
id: 2,
cls: "folder",
children:[
{
text: "User 16",
id: 16,
leaf:true
},
{
text: "User 17",
id: 17,
leaf:true
},
{
text: "User 18",
id: 18,
leaf:true
},
{
text: "User 19",
id: 19,
leaf:true
},
{
text: "User 20",
id: 20,
leaf:true
}
]
},
{
text: "Department 3",
id: 2,
cls:"folder",
children:[
{
text: "User 21",
id: 21,
leaf:true
},
{
text: "User 22",
id: 22,
leaf:true
},
{
text: "User 23",
id: 23,
leaf:true
},
{
text: "User 24",
id: 24,
leaf:true
},
{
text: "User 25",
id: 25,
leaf:true
}
]
}
]
}
]
});
下面是我的视图文件
Ext.define('rt.view.project.projectuser', {
extend: 'Ext.tree.Panel',
alias: 'widget.projectuser',
disabled: true,
border: false,
cls: 'projectuser',
autoScroll: true,
initComponent: function() {
Ext.apply(this, {
store: this.store,
items: {
title: 'User in project',
}
});
this.callParent(arguments);
},
});
store: this.store,
当我运行代码时,树面板在没有树的情况下看起来是空的
我想做的是,我想根据上面存储区中的项目id显示树
如果您需要我提供任何其他信息,请告诉我
关于这件事谁能帮我一下
提前感谢。我可以通过替换视图文件中的以下行来解决上述问题
Ext.define('rt.view.project.projectuser', {
extend: 'Ext.tree.Panel',
alias: 'widget.projectuser',
disabled: true,
border: false,
cls: 'projectuser',
autoScroll: true,
initComponent: function() {
Ext.apply(this, {
store: this.store,
items: {
title: 'User in project',
}
});
this.callParent(arguments);
},
});
store: this.store,
如下:
store: Ext.data.StoreManager.lookup('userinproject'),
希望这能帮助别人
谢谢。您有什么错误吗?看看这个:它应该会帮助你。你好,Abdel,我也检查了代码,但目前我没有收到任何错误。。我遇到了“me.store.getRootNode不是函数”的错误,我从该线程中解决了这个问题。目前我没有错误。不管我在做什么,实际上什么都没有改变。我还尝试使用extjs示例中给出的ajax代理。但它也装载空树。你还有别的想法吗?谢谢,但我没有看到您将存储重新分配到
initComponent
方法中的树(在上面的代码中)Hello Abdel,谢谢您的回复。我尝试了1->store:Ext.data.StoreManager.lookup('rt.store.userinproject')、2->store:Ext.data.StoreManager.lookup(this.store)和这两种方法,我都得到了空树。。对于上面的代码,我从控制器将存储分配为var usertree=this.getProjectUser(),store2=this.getUserinprojectStore();并将store2分配给usertree作为usertree.store=store2;此外,我在console中通过console.log(usertree.store)完美地获得了存储;如果你还有其他想法,请告诉我。Thanks@Abdel我也尝试过,usertree.data=store2.load();log(usertree.data);在控制台中,我可以看到数据对象。但由于某些原因,只有该树没有创建,并且在树面板中不可见。谢谢