MS的TreeView js控制方法
被选择的节点的索引:
tree.selectedNodeIndex
被单击的节点的索引:
tree.clickedNodeIndex
获取一个节点:
tree.getTreeNode(nodeIndex)
在根节点下增加一个子节点:
var tree = document.all['TreeView1'];
var node = tree.createTreeNode() ;
tree.add(node);
node.setAttribute( "text", "aaaa");
在当前节点下增加一个子节点:
var tree = document.all['TreeView1'];
var node = tree.createTreeNode() ;
var parentNode = tree.getTreeNode( tree.clickedNodeIndex);
parentNode.add(node);
node.setAttribute( "text", "aaaa");
node.setAttribute("NavigateUrl","xxx");
node.databind();
node.setAttribute('expanded', 'true');//MS提供的HTC中需要修改一个地方,否则就会产生一个异常
node.getAttribute("xxx")
node.setAttribute('xxx', 'xxxx');
属性 | 值 | 含义 |
CheckBox | True False | 是否有选择框 |
checked | True False | 选择框是否被选中 |
Expanded | True False | 是否展开 |
ImageURL | 正常状态下左边的图标 | |
SelectedImageUrl | 当节点被选择时左边的图标 | |
ExpandedImageUrl | 当节点被展开后左边的图标 | |
Target | 目标框架 | |
navigateurl | 目标URL | |
type | 节点的类型 | |
childtype | 子节点的类型 | |
Text | 节点显示的文本 | |
innerText | ||
innerHTML | ||
defaultstyle | 默认的风格 | |
hoverstyle | 当鼠标移到节点的上面时的风格 | |
selectedstyle | 当节点被选择时的风格 | |
treenodesrc |
node.getParent()
node.getChildren()
node.getChildren().length > 0
var tree = document.all["tvMain"];
tree.attachEvent("onselectedindexchange", SelectedIndexChange);
做完之后才找到这个……
不过,tree.add(subnode)实在是太慢(在节点上加节点倒是很快,为什么?),加一个节点需要100-200毫秒,如果我有20个节点,那就是2-4秒,如果我有1000个节点呢……
有没有解决方法?