Nat*_*ran 5 javascript ajax extjs
我有一个简单的TreePanel.我想在加载它时选择一个特定的节点.节点来自远程文件(json).
树正在按预期加载.但是,未选择节点.Firebug将节点显示为未定义.这可能是因为异步属性.但是,我无法另外配置,或指定选择节点.
欢迎任何建议,谢谢.
LeftMenuTree = new Ext.tree.TreePanel({
renderTo: 'TreeMenu',
collapsible: false,
height: 450,
border: false,
userArrows: true,
animate: true,
autoScroll: true,
id: 'testtest',
dataUrl: fileName,
root: {
nodeType: 'async',
iconCls:'home-icon',
expanded:true,
text: rootText
},
listeners: {
"click": {
fn: onPoseClick,
scope: this
}
},
"afterrender": {
fn: setNode,
scope: this
}
});
function setNode(){
alert (SelectedNode);
if (SelectedNode == "Orders"){
var treepanel = Ext.getCmp('testtest');
var node = treepanel.getNodeById("PendingItems");
node.select();
}
}
Run Code Online (Sandbox Code Playgroud)
我在TreeGrid中使用此代码来选择节点
_I.treeGrid.getSelectionModel().select(_I.treeGrid.getRootNode());
Run Code Online (Sandbox Code Playgroud)
我没有在TreePanel中尝试过这个,但是由于TreeGrid基于它,我只是假设它有效.在XHR请求完成后,我使用加载器的load事件来插入类似的代码,所以尝试编写你的setNode函数,如下所示:
var loader = LeftMenuTree.getLoader();
loader.on("load", setNode);
function setNode(){
alert (SelectedNode);
if (SelectedNode == "Orders"){
var treepanel = Ext.getCmp('testtest');
treepanel.getSelectionModel().select(treepanel.getNodeById("PendingItems"));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29321 次 |
| 最近记录: |