用递归方法把资料绑定到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);        //递归调用,进行遍历
            }

         }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值