• 用递归方法把资料绑定到TreeView控件,显示文档目录


    代码
    using System.Collections.Generic;
    using System.Reflection;
    using System.Data;
     
    partial class ViewFolder: System.Web.UI.Page
        {            
            
    protected void Page_Load(object sender, System.EventArgs e)
            {
                
    if (!Page.IsPostBack)
                {
                    GetNotes();
                }          
            }

            
    private void GetNotes()
            {            
                
    //根节点            
                TreeNode tn=new TreeNode("我的文档""0"this.ControlPath + "images/folder0.gif");
                
    int FolderControlID = DocumentController.GetTabId(this.PortalId, "ViewDocument");
                tn.NavigateUrl 
    = Globals.NavigateURL(FolderControlID, """FolderId=0");
                TreeFolder.Nodes.Add(tn);

                DataTable dt
    =null;
                
    try
                    {
                        dt 
    = DocumentController.GetListFolder(UserId);                    
                    }

                    
    catch (Exception exc)
                    {
                        
    //Module failed to load 
                        Exceptions.ProcessModuleLoadException(this, exc);
                    }            
                
    //增加子节点
                IntiTree(TreeFolder.Nodes , dt, 0);       

                TreeNode dustbin 
    = new TreeNode("垃圾箱""-1");
                dustbin.ImageUrl 
    = this.ControlPath + "images/Dustbin.gif";
                TreeFolder.Nodes.Add(dustbin);
            }
            
    //递归增加子节点
            private void IntiTree(TreeNodeCollection Nds,DataTable dt, int parentId)
            {
                DataView dv
    =new DataView();                      
                TreeNode tmpNd;            
    //创建临时节点

                dv.Table 
    = dt;
                dv.RowFilter 
    = "ParentFolderId=" + parentId;        //筛选数据
                int FolderControlID = DocumentController.GetTabId(this.PortalId, "ViewDocument");

                
    foreach(DataRowView drv in dv)
                {
                    tmpNd
    =new TreeNode();
                    
    int FolderId=Convert.ToInt32(drv["FolderId"]);            //当前节点的ID号
                    tmpNd.Value=FolderId.ToString();
                    tmpNd.Text
    =drv["FolderName"].ToString();

                    
    string navUrl = "javascript:navurl('" + "http://" + Request.Url.Host + ResolveUrl("../Document/callIndex.aspx?FolderId=");
                    tmpNd.NavigateUrl 
    = navUrl + drv["FolderId"].ToString() + "')"

                    tmpNd.ImageUrl 
    = "images/folder1.gif";   
                    tmpNd.Expanded 
    = false;                                  //节点是否展开   
                    
    //tmpNd.Target="main";                                //节点重定向的方向                 
                    Nds[Nds.Count-1].ChildNodes.Add(tmpNd);               //将临时节点添加到TreeView菜单中
                    IntiTree(Nds[Nds.Count-1].ChildNodes,dt,FolderId);        //递归调用,进行遍历
                }

             }
    }
  • 相关阅读:
    高性能JavaScript DOM编程
    浏览器缓存机制浅析
    高性能JavaScript 循环语句和流程控制
    高性能JavaScript 编程实践
    HTML5 postMessage 跨域交换数据
    纠结的连等赋值
    从setTimeout谈JavaScript运行机制
    闭包拾遗 & 垃圾回收机制
    闭包初窥
    Odoo中如何复制有唯一性约束的记录?
  • 原文地址:https://www.cnblogs.com/fredx/p/1622459.html
Copyright © 2020-2023  润新知