向TreeView中添加节点例子
//添加TreeView控件
  <form id="form1" runat="server">
    <div>
    
        <asp:TreeView ID="tvorganise" runat="server">
        </asp:TreeView>//CodeGo.net/
    
    </div>
    </form>
//历遍添加父节点及子节点
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            TreeNode TN = new TreeNode("海鲜部门的组织结构");
            string[] organise = {"办公室","开发部","客服部","营销部","水产部门","人事部门","管理层" };
            for (int i = 0; i < organise.Length; i++)
            {
                TN.ChildNodes.Add(new TreeNode(organise[i].ToString()));
            }
            tvorganise.Nodes.Add(TN);
        }
    }

解决方案 »

  1.   

    这个问题是这样产生的:向数据库添加新信息后,重新绑定TreeView到数据表语句的下一句是展开已保存的选定节点;
    如下略举例:添加信息到数据库操作语句
    存储选定节点TreeNode
    查询返回数据表绑定TreeView
    TreeView展开存储选定节点TreeNode
      

  2.   

    说错了,不是绑定数据表,是把数据表的数据添加到TreeView
      

  3.   

    又遇到类似问题,也不知该怎么描述了。虽然开贴的问题已经用其他方法绕过得以解决,但似乎查询数据库填充数据表会需要一定的时间才完成,数据表才有数据,在紧接查询语句的下一句访问数据表的行数据时,断点查看数据表内行是空的,相似的查询数据库填充数据表绑定到树控件遇到同样的问题,或许还有加载树也需要一定时间才能完成,如果紧接着绑定语句的下一句定位树节点就产生开贴的问题,用线程暂停也没解决问题。
    如按钮事件:
    DataTable 表=查询数据库返回表(查询语句);
     foreach (DataRow 数据行 in 表.Tables[表名称].Rows)这时断点查看数据表是空的
    用Thread.Sleep(800);无法解决。
    如果在按钮事件完成后查看数据表是有内容,现在不想再添加其他事件去访问数据表,想在按钮事件中查询完成语句之后直接访问数据表的行数据进行处理。
    不知道描述的大家能看清楚意思没,该用什么方法能让等待一点时间后再去访问数据表或树控件节点?