有个项目用到Extjs的ColumnTree组件,按照例子展示没有问题,可是添加却遇到了麻烦,因为想在不刷新整棵树的前提下添加节点。摸索了很久终于解决了问题,现在贴上来给大家共享。
此例中columntree假设包含4个属性需要展示,分别是:'urlCode','remark','snCode','funname'。
var selectedNode = treepanel.getSelectionModel().getSelectedNode(); //此处为给选中的节点下添加子节点
var node = new Ext.tree.TreeNode({
id:rs.id,
uiProvider:Ext.ux.tree.ColumnNodeUI //请注意,此属性决定了其他列值的正确显示(3.2不需要这个属性)
});
//给各个属性赋值
node.attributes.urlCode=rs.urlCode;
node.attributes.remark=rs.remark;
node.attributes.snCode=rs.snCode;
node.attributes.funname=rs.funname;
//添加到选中节点上
selectedNode.appendChild(node);