动态treeview控件(节点级数不限),给每一个节点设置了check,请问如何实现点击某一个字节点,会自动选中其父节点,以及父节点的父节点?解决立

starbaby0623 2005-06-08 01:17:46
动态treeview控件(节点级数不限),给每一个节点设置了check,请问如何实现点击某一个字节点,会自动选中其父节点,以及父节点的父节点?解决立马结贴.
...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
joan_lu 2005-06-08
  • 打赏
  • 举报
回复
<script language="javascript">
var tree1 = document.all['TreeView1'];
tree1.attachEvent("OnCheck",OnCheck);
function OnCheck(evt)
{
var tree = document.all['TreeView1'];
var node= tree.getTreeNode(evt.treeNodeIndex);
var checked=node.getAttribute("Checked");
var expand=node.getAttribute("expanded");
CheckChildNode(node,checked);
node.setAttribute("expanded",expand);

}
function CheckChildNode(node,checked)
{
node.setAttribute("expanded","true");
var nodes=node.getChildren();
if (nodes==null || nodes.length==0)
return;
//alert(nodes.length);
for (var i=0;i<nodes.length;i++)
{
nodes[i].setAttribute("Checked",checked);
CheckChildNode(nodes[i],checked);
}
}
</script>
joan_lu 2005-06-08
  • 打赏
  • 举报
回复
node.setAttribute("expanded","true");//也可以不展开子节点
这里如果不展开的话有些小问题,你可以测试一下,所以如果要保持父节点初始展开状态建议可以在OnCheck事件开始得到父节点展开状态保存,在结束时再恢复。
joan_lu 2005-06-08
  • 打赏
  • 举报
回复
<script language="javascript">
var tree1 = document.all['TreeView1'];
tree1.attachEvent("OnCheck",OnCheck);
function OnCheck(evt)
{
var tree = document.all['TreeView1'];
var node= tree.getTreeNode(evt.treeNodeIndex);
var checked=node.getAttribute("Checked");
CheckChildNode(node,checked);

}
function CheckChildNode(node,checked)
{
node.setAttribute("expanded","true");//也可以不展开子节点
var nodes=node.getChildren();
if (nodes==null || nodes.length==0)
return;
//alert(nodes.length);
for (var i=0;i<nodes.length;i++)
{
nodes[i].setAttribute("Checked",checked);
CheckChildNode(nodes[i],checked);
}
}
</script>
starbaby0623 2005-06-08
  • 打赏
  • 举报
回复
怎么?没人知道呢?
starbaby0623 2005-06-08
  • 打赏
  • 举报
回复
我是要立即显示结果(当点击某一个了节点的check时,其父节点自动实现选中)
check的选中事件是什么啊?
evaELLIS 2005-06-08
  • 打赏
  • 举报
回复
用FOR循环
jedliu 2005-06-08
  • 打赏
  • 举报
回复
你要干吗,点中一个节点,是可以取到其父节点ID的,但自动选中是怎么回事?

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧