C#.Net vs08 TreeView TreeNode如何添加新节点

C#.Net vs08 TreeView TreeNode如何添加新节点,第1张

先把TreeView的结构搞清楚吧。TreeView看做是1棵树,TreeNode看做树上的枝叶或者节点。1棵树可以有多个TreeNode,也就是长着很多枝叶,每个枝叶上又可以延伸其他枝叶。

所以,添加TreeView上的节点,必须把你的TreeNode添到TreeView中,而不是单纯的TreeNode.Add方法。你不执行TreeView.Add(TreeNode)方法,就永远不会把你的TreeNode添加到树中。

至于代码,1l已经说的很清楚了。

递归调用

/// <summary>

/// 根据菜单表把权限树加载好

/// </summary>

/// <param name="dt">数据源</param>

/// <param name="Filterid">上级ID</param>

/// <param name="node">树节点</param>

private void treeadd(DataTable dt, int Filterid, TreeNode node)

{

DataView subView = dt.DefaultView

subView.RowFilter = "ParentID = " + Filterid//获得ID级别为当前ID的

foreach (DataRowView item in subView)

{

//如果上级ID为0就直接加载树下面

if (Filterid == 0)

{

TreeNode treenodel = new TreeNode() //创建一个节点

treenodel.Text = item["MenuName"].ToString()节点名称

int id =Convert.ToInt32(item["MenuID"])

treenodel.Value = id.ToString()节点值

treeDepts.Nodes.Add(treenodel) 如果级别ID为0就直接加到根节点

treeadd(dt, id, treenodel) 递归调用

}

else

{

//不为0就加载传进来的子节点下

TreeNode treenodel = new TreeNode()

treenodel.Text = item["MenuName"].ToString()

int id = Convert.ToInt32(item["MenuID"])

treenodel.Value = id.ToString()

treenodel.Expanded = true 是否展开该节点

node.ChildNodes.Add(treenodel) 把节点加入到当前节点下,

treeadd(dt, id, treenodel)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11475862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存