资源简介
TreeView&XML实现无限分级,递归实现无限分级,无论在xml文件中添加几级都可以实现.
代码片段和文件信息
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.xml;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender EventArgs e)
{
if (!IsPostBack)
{
BindTreeView();
}
}
///
/// 读取xml文件并将读出的数据填充到TreeView控件中
///
void BindTreeView()
{
//新建个DataSource指向要绑定的文件
xmlDataSource xds = new xmlDataSource();
xds.DataFile = Server.MapPath(“Funxml.xml“);
xmlDocument xmlDocument = xds.GetxmlDocument();
//把根节点的东东和treeView实例根节点群丢进去递归
BindxmlToTreeView(xmlDocument.DocumentElement TreeView1.Nodes);
}
///
/// 递归调用,读取xml文件中的数据,填充到TreeView控件中
///
/// 递归调用中的子节点
/// 父节点的子节点集合
void BindxmlToTreeView(xmlNode node TreeNodeCollection tnc)
{
//获得节点字段值
string strId=““;
if (node.Attributes[“id“] != null)
{
//获取节点值
strId = node.Attributes[“id“].Value;
}
string strUrl=““;
if (node.Attributes[“url“] != null)
{
//获取该节点所超连接的URL地址
strUrl = node.Attributes[“url“].Value;
}
TreeNode myNode = new TreeNode(strId);
if (strUrl == ““)
{
//如果strUrl为空,则当点击该节点时不会有超连接,只是打开节点或收缩节点
myNode.SelectAction = TreeNodeSelectAction.Expand;
}
else
{
myNode.NavigateUrl = strUrl;//设置当点击该节点时所指向的页面的URL地址
}
tnc.Add(myNode);
foreach (xmlNode n in node.ChildNodes)
{
//指向子节点和父节点的子节点群
BindxmlToTreeView(n myNode.ChildNodes);//或者把myNode用tnc[tnc.Count - 1]来替换
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 524 2008-07-19 08:39 TreeViewxm
文件 2407 2009-02-17 15:11 TreeViewxm
文件 445 2008-07-19 08:45 TreeViewxm
文件 409 2008-07-19 08:45 TreeViewxm
文件 1413 2009-02-17 15:10 TreeViewxm
文件 7813 2009-02-17 15:08 TreeViewxm
目录 0 2008-07-19 08:36 TreeViewxm
目录 0 2009-02-17 15:11 TreeViewxm
----------- --------- ---------- ----- ----
13011 8
- 上一篇:ffactivex-setup-r39.exe
- 下一篇:简单银行管理系统
评论
共有 条评论