|
>
/// </summary>
/// <param name="dt">从数据库抓出的 DataTable</param>
/// <param name="node">将要添加子节点的父节点</param>
/// <param name="id">父节点的 ID,“0” 为根节点</param>
private void AddNodes(DataTable dt,TreeNode node,string id)
{
DataRow[] rows = dt.Select("ParentID="+id); //筛选出属于父节点 “node”的子节点集合
foreach(DataRow dr in rows) //循环子节点集合
{
TreeNode nd = new TreeNode();
nd.NavigateUrl=dr["URL"].ToString(); //设置浏览的网址
nd.NodeData=dr["NodeID"].ToString(); //存放节点 ID
nd.Text=dr["NodeName"].ToString(); //设置节点名称
this.AddNodes(dt,nd,nd.NodeData); //递归,添加该节点的子节点
if(node==null || id=="0")
{
this.TreeView1.Nodes.Add(nd); //添加至根节点
}
else
{
node.Nodes.Add(nd); //添加子节点
}
}
2、 展开节点时读取该节点的数据
TreeView 控件属性→ 自动提交(AutoPostBack) → True

TreeView 控件属性→ 事件 → 双击展开(Expand)

private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
this.AddSingleNode(null,"0"); //找出根节点
}
this.TreeView1.SelectedNodeIndex=""; //不选中任何节点
}
/// <summary>
/// 展开节点时,触发的事件
/// </summary>
/// <param name="sender">TreeView 控件</param>
/// <param name="e"></param>
private void TreeView1_Expand(object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
{
&nb 上一页 [1] [2] [3] [4] 下一页 [常用软件]双剑合璧 在Win XP下刻录音乐CD [常用软件]TreeView 控件应用详解 [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二) [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(一) [VB.NET程序]在 VB 中使用 Unicode API [VB.NET程序]在 VB5.0中编辑数据库和电子表格 [VB.NET程序]在 VB 中 引 用 .dbf 及 索 引 文 件 [Delphi程序]Delphi中为TreeView添加单选和复选框 [Delphi程序]Object TreeView简要说明 [Delphi程序]Delphi下Treeview控件基于节点编号的访问
|