zoukankan      html  css  js  c++  java
  • 用递归方法把资料绑定到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);        //递归调用,进行遍历
                }

             }
    }
  • 相关阅读:
    php练习题之裁判打分
    OPENSUSE:安装方式
    openSUSE:下载帮助
    安装mysql时出现HTTP 500 内部服务…
    关于wamp启动是80端口被占用的问题…
    推荐15款好用的JS开发工具
    u盘美化
    wordpress怎么修改地址栏小图标
    显示桌面图标不见了
    站长必备的131个高权重外链库(转…
  • 原文地址:https://www.cnblogs.com/fredx/p/1622459.html
Copyright © 2011-2022 走看看