解决方案 »

  1.   

    在用Linq读数据时候使用赖加载,然后在当用户点加号 ,要显示子项目时或IsExpanded属性为true时,会发生Expanded事件,通过这个事件时再真正的从数据库读数据,代码,我一时找不出来,应该不难写
      

  2.   

    http://bbs.csdn.net/topics/380239317
    这个资源管理器的代码就是使用的LazyLoad,显然,一次性将文件系统结构全部装入没有必要,只要装入可视的那部分就可以了。
      

  3.   

    最近做的差不多,4层节点,1级根节点,2级节点10个节点,3级节点10*12个,4级节点一共有11000个,全部加载也就5秒左右啊!!
    能否贴出来你的代码啊,多谢!
    //加载子节点
            [AjaxMethod]
            public void loadChildNode(Coolite.Ext.Web.TreeNode parentNode)
            {
                DataRow[] dra = dtAll.Select("pid=" + parentNode.NodeID);
                if (dra.Length == 0)
                {
                    parentNode.Expanded = true;
                    parentNode.AllowChildren = false;
                    return;
                }
                foreach (DataRow dr in dra)
                {
                    Coolite.Ext.Web.TreeNode Node = new Coolite.Ext.Web.TreeNode();
                    Node.NodeID = dr["gid"].ToString();
                    Node.Text = dr["gname"].ToString();
                    Node.Checked = ThreeStateBool.False;
                    Node.AllowChildren = true;
                    Node.Expanded = false;
                    parentNode.Nodes.Add(Node);
                    loadChildNode(Node);
                };
            }