用递归方法把资料绑定到TreeView控件,显示文档目录
2009-12-12 13:21
393 查看
代码
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); //递归调用,进行遍历
}
}
}
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); //递归调用,进行遍历
}
}
}
相关文章推荐
- 用递归方法把资料绑定到TreeView控件,显示文档目录
- 下载jdk帮助文档,类及方法目录都有,但是具体界面不显示
- Eclipse SWT Tree使用递归方法,实现Tree显示目录的显示
- 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取)
- word 文档在左侧显示文档的目录结构的方法
- 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取)
- IIS7 多域名绑定同一物理目录不同默认文档的实现方法
- 递归方法绑定多级动态目录
- 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取)
- 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取)
- 通过os.path.walk方法递归遍历目录中所有文档
- 递归方法实现TreeView控件的绑定
- 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) .
- PHP递归遍历指定目录的文件并统计文件数量的方法
- Word文档转PDF时保留目录与链接方法
- 递归 / 迭代两种方法实现查找指定目录下所有文件
- 如何解决IIS7多域名绑定同一物理目录,设置不同的默认文档的问题?
- iReport5.0.1生成PDF文档解决中文不显示方法
- 用嵌套递归的方法搜索指定目录下的所有文件
- 一种保护眼睛好方法(改变文档显示颜色)