zoukankan      html  css  js  c++  java
  • TreeView 递归 无限级 绑定数据

    TreeView怎样无限递归绑定数据(用C#语言写),谢谢。。

    浏览次数:1680次悬赏分:20|解决时间:2009-1-6 09:49|提问者:binas |检举
    数据库设计如下
    
    50 0 军事 0
    51 0 生活 0
    52 1 健康菜肴 51
    53 1 各国武器 50
    72 0 新闻 0
    73 1 国内 72
    75 1 国外 72
    84 0 uuu 0
    85 2 aaa 52
    86 3 bbb 85

    最佳答案
    我把我以前用的表结构先介绍下 
    表主要用来保存权限分类的 
    字段 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); //再次递归 
    } 
    } 
    }
    
    你可以根据你的表来修改相应的字段名,下班了,没时间帮你写完整的了,代码能用,有什么问题明天再解决吧
  • 相关阅读:
    py爬取英文文档学习单词
    windows 下使clion支持c++11操作记录
    angular在ie8下的一个bug
    连连看小游戏前端实现
    如何禁止页面文字被选中
    分享一个BUG
    描点链接元素的优化提升用户体验
    模拟淘宝滚动显示问题解决入口
    简易图片轮播效果
    支付战争
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/2212142.html
Copyright © 2011-2022 走看看