treeview不能展开的问题

博客内容讲述了在使用javascript生成树形视图时遇到的问题,即生成的树无法展开。作者发现根节点的expanded属性在添加新节点过程中被意外改变,导致树无法正常显示。通过在代码末尾手动将根节点的expanded属性重置为true,成功解决了这个问题。问题根源追溯到tree.htc文件的generateItem()方法中,但具体原因不明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用javascript生成了一个树,生成代码如下,不能展开, 后来发现给根接点expanded赋值在添加第二个节点时已改变,

这是树不能展开的原因。在最后加上一句话,把根节点的expanded属性重新设置成true,树才能顺利展开。

跟踪代码发现是在tree.htc文件的generateItem(), 方法中值被修改了。

至于为什么要修改我就不知道了

<% @ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1"  %>
<% @ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls"  %>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
< HTML >
    
< HEAD >
        
< title > WebForm1 </ title >
        
< meta  name ="GENERATOR"  Content ="Microsoft Visual Studio .NET 7.1" >
        
< meta  name ="CODE_LANGUAGE"  Content ="C#" >
        
< meta  name ="vs_defaultClientScript"  content ="JavaScript" >
        
< meta  name ="vs_targetSchema"  content ="http://schemas.microsoft.com/intellisense/ie5" >
    
</ HEAD >
    
< body  MS_POSITIONING ="GridLayout" >
        
< form  id ="Form1"  method ="post"  runat ="server" >
            
< iewc:TreeView  id ="DeptTree"  style ="Z-INDEX: 101; LEFT: 128px; POSITION: absolute; TOP: 200px"
                runat
="server" ></ iewc:TreeView >
        
</ form >
        
< script  type ="text/javascript" >
        
var dpTree = document.getElementById("DeptTree");
        window.document.body.onload 
= function()
        
{
            initTree();
        }

        
function initTree()
        
{
            
var root = newTreeNode("0""中国");
            alert(root.getAttribute(
"expanded"));
            dpTree.add(root);
            alert(root.getAttribute(
"expanded"));
            
var child1 = newTreeNode("1""湖北");
            child1.setAttribute(
"expanded""true");
            root.add(child1);
            
var child2 = newTreeNode("2""武汉");
            child1.add(child2);
            root.setAttribute(
"expanded""true");
        }

        
function newTreeNode(id, name)
        
{
            
var node  = dpTree.createTreeNode();
            node.setAttribute(
"id", id );
            node.setAttribute(
"text", name);
            node.setAttribute(
"expanded""true")
            
return node;
        }

        
</ script >
    
</ body >
</ HTML >
 c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值