| 加入收藏| 设为首页| 联系我们

首页 站长学习 站长之家 源码下载 建站素材 书籍教程 常用工具
 您现在的位置: 动力中国 >> 网络编程 >> ASP.NET教程 >> 文章正文  
 [组图]组织和遍历TreeView里面的数据
 

组织和遍历TreeView里面的数据

http://www.domcn.org  文章来源:本站收藏  点击数:

  关键字:组织和遍历TreeView里面的数据

关键字:asp.net2.0,treeview,数据,遍历


经常有朋友问如何把数据添加进TreeView,其实更多的是要问为什么treeview不能绑定数据库里面的数据,而只能绑定xml的数据.

这个问题要从数据的结构来阐述,TreeView的数据结构是树状的,而表里的数据是平面的,平面的数据结构表达树状的结构就有很多种方法,所以笔者认为这也就是为什么微软没有提供直接的数据表绑定方法而是把这个空间留给了用户.

下面简单描述如何把简单的数据库里的数据遍历到TreeView中.

首先假定有如下的数据表,结构有:id主键,nodetext节点文本,fathernode父节点id.其中fathernode这个字段默认值是0,代表是根节点,如果是非0的话那么就说明是主键为这个值的子节点,结构就是这么简单,当然在数据表中实现树形结构的存储还有很多,这里只讨论如上的情况.

数据表定义如下图:

 



为了测试往里面写几条数据:


 


这里为了简便,假定树只有两层.在这种情况下用两个for 循环就可以实现了,当然也可以用递归,不过为了简单说明问题,这里只用循环的方式来做.

外层循环读取所有FatherNode为0的节点,里面套用的循环是读取当前节点的子节点.代码大致如下:

 

private void GenerateTreeView()

{

    DataSet1TableAdapters.test_tableTableAdapter ta1 = new DataSet1TableAdapters.test_tableTableAdapter();

    DataTable dt1 = ta1.GetDataByFatherNode(0);

 

    for (int i = 0; i < dt1.Rows.Count; i++)

    {

        TreeNode tn1 = new TreeNode();

        tn1.Text = dt1.Rows[i][NodeText].ToString();

 

        DataSet1TableAdapters.test_tableTableAdapter ta2 = new DataSet1TableAdapters.test_tableTableAdapter();

        int currentid=int.Parse(dt1.Rows[i][id].ToString());

        DataTable dt2 = ta2.GetDataByFatherNode(currentid);

 

        for (int j = 0; j < dt2.Rows.Count; j++)

        {

            TreeNode tn2 = new TreeNode();

            tn2.Text = dt2.Rows[j][NodeText].ToString();

 

            tn1.ChildNodes.Add(tn2);

        }

 

        TreeView1.Nodes.Add(tn1);

    }

}

 

其中的是读取数据用的,用的是数据集进行的操作.关于数据集的定义请下载本文附带的源码,很简单的,同样,通过数据集的方式来访问数据也很方便.

 

比较复杂的情况,需要用到递归,比如读取文件目录信息.可以参考我的这篇文章.

 

附:参考代码下载.数据库在App_Data中,请附加到SqlServer2005里.


组织和遍历TreeView里面的数据
  • 上一篇文章:

  • 下一篇文章:
  •  热门文章
    普通文章 电子邮件改头换面 四公司畅谈未
    普通文章 PC病毒史上最声名狼藉的八大病
    普通文章 Rails系统中的AJAX开发技术简析
    普通文章 基于ASP.NET AJAX框架实现表单
    普通文章 开发ASP.NET AJAX客户端定制行
    普通文章 用JFreeChart对JSP报表进行增强
    普通文章 SQL Server 2005上的CLR和ADO.
    普通文章 SQL Server 2005的XML支持机制
    普通文章 Firefox中标签式浏览技巧大全
    普通文章 Tomcat中的Session和Cookie大揭
     
     推荐文章
    推荐文章 把Google地图嵌入网页 就是这么
    推荐文章 迅雷搜索候选资源出错的解决
    推荐文章 轻松去除迅雷里的各种广告和资
    推荐文章 突破限制 免费领养到QQ空间五级
    推荐文章 Rational统一过程RUP贴近中小软
    推荐文章 构建自己的轻量级XML DOM分析程
    推荐文章 WPS Office 2007技巧:妙用配置
    推荐文章 Excel 2007:求余数函数实用进阶
    推荐文章 浅谈ASP.NET的Postback
    推荐文章 软件开发中项目需求管理简述
     
     相关文章
    没有相关文章
    设为首页 | 加入收藏 | 广告合作 | 联系站长 | 版权申明 |
    动力中国为网友提供免费学习资料,可用资源,如果您认为我们的相关内容侵害到了您的权利请联系管理员
    Copyright © 2006-2008 domcn.org All Rights Reserved.