【发布时间】:2011-06-02 10:21:50
【问题描述】:
如何在运行时更改树存储的 rootNode?p>
以下是我目前的树店:
Ext.define('rt.store.userinproject', {
extend: 'Ext.data.TreeStore',
folderSort: true,
sorters: [{
property: 'text',
direction: 'ASC'
}],
root: {
expanded: true,
text: "",
user: "",
status: "",
children: [{
text: "Project 1",
pid: 1,
expanded: true,
children: [{
text: "Department 1",
did: 1,
cls: "folder",
children: [{
text: "User 1",
uid: 1,
leaf: true
}, {
text: "User 2",
uid: 2,
leaf: true
}, {
text: "User 3",
uid: 3,
leaf: true
}, {
text: "User 4",
uid: 4,
leaf: true
}, {
text: "User 5",
uid: 5,
leaf: true
}]
}, {
text: "Department 2",
did: 2,
cls: "folder",
children: [{
text: "User 6",
uid: 6,
leaf: true
}, {
text: "User 7",
uid: 7,
leaf: true
}, {
text: "User 8",
uid: 8,
leaf: true
}, {
text: "User 9",
uid: 9,
leaf: true
}, {
text: "User 10",
uid: 10,
leaf: true
}]
}, {
text: "Department 3",
did: 3,
cls: "folder",
children: [{
text: "User 11",
uid: 11,
leaf: true
}, {
text: "User 12",
uid: 12,
leaf: true
}, {
text: "User 13",
uid: 13,
leaf: true
}, {
text: "User 14",
uid: 14,
leaf: true
}, {
text: "User 15",
uid: 15,
leaf: true
}]
}]
}, {
text: "Project 2",
pid: 2,
expanded: true,
children: [{
text: "Department 1",
did: 1,
cls: "folder",
children: [{
text: "User 1",
uid: 1,
leaf: true
}, {
text: "User 2",
uid: 2,
leaf: true
}, {
text: "User 3",
uid: 3,
leaf: true
}, {
text: "User 4",
uid: 4,
leaf: true
}, {
text: "User 5",
uid: 5,
leaf: true
}]
}, {
text: "Department 2",
did: 2,
cls: "folder",
children: [{
text: "User 16",
uid: 16,
leaf: true
}, {
text: "User 17",
uid: 17,
leaf: true
}, {
text: "User 18",
uid: 18,
leaf: true
}, {
text: "User 19",
uid: 19,
leaf: true
}, {
text: "User 20",
uid: 20,
leaf: true
}]
}, {
text: "Department 3",
did: 3,
cls: "folder",
children: [{
text: "User 21",
uid: 21,
leaf: true
}, {
text: "User 22",
uid: 22,
leaf: true
}, {
text: "User 23",
uid: 23,
leaf: true
}, {
text: "User 24",
uid: 24,
leaf: true
}, {
text: "User 25",
uid: 25,
leaf: true
}]
}]
}]
}
});
目前我可以在树面板中显示从根节点开始的整棵树。
现在在上面的商店中,当用户单击项目 1 时,我想将“项目 1”作为我的根节点 当用户单击项目 2 时,“项目 2”作为我的根节点。
这可能吗?如果是这样,怎么做?如果您需要我的任何东西,请告诉我。
【问题讨论】:
-
改rootNode是什么意思?您要更改文本还是所有层次结构?
-
@TheHorse 感谢您的回复。我可以说我只想显示层次结构的一部分。我不知道是否可以使用 extjs。我已经编辑了我的问题。在我上面的商店中,当用户单击项目 1 和项目 2 时,我想将“项目 1”作为 rootNode。我希望这能进一步解决问题
标签: extjs tree extjs4 extjs-mvc