
this.treeView1.Nodes.Add(RootNode)
就这样加根节点,子节点也是同样方法。
其中:
ParentNode:父结点
ChildNodes:VS默认的父节点属性,用于获取父结点的第一级子节点
Add: VS默认的结点添加方法
ChildNode: 所要插入的子节点
我把我以前用的表结构先介绍下表主要用来保存权限分类的
字段 PopId 权限ID 主键
PopName 权限名字
PostUrl 链接到的URL
flid 父节点ID
其中 根节点的flid为0 其他的父节点根据情况填写
页面实现的时候 直接 添加treeview控件
cs代码如下
protected void Page_Load(object sender, EventArgs e)
{
bindtree(PopId)
}
private void bindtree()
{
TreeView1.Nodes.Clear()
AddTree(0, (TreeNode)null)
}
public void AddTree(int ParentID, TreeNode pNode)
{
DataTable dt = new DataTable()
//这个是我获取数据源的代码
dt = logbll.BindPop()
DataView dvTree = new DataView(dt)
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "flid = " + ParentID
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode()
if (pNode == null)
{ //添加根节点
Node.Text = Row["PopName"].ToString()
TreeView1.Nodes.Add(Node)
//Node.Expanded = true
AddTree(Int32.Parse(Row["PopId"].ToString()), Node)//再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["PopName"].ToString()
Node.NavigateUrl = Row["PostUrl"].ToString()
pNode.ChildNodes.Add(Node)
//Node.Expanded = true
AddTree(Int32.Parse(Row["PopId"].ToString()), Node)//再次递归
}
}
}
你可以根据你的表来修改相应的字段名,下班了,没时间帮你写完整的了,代码能用,有什么问题明天再解决吧
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)