`

vs多级树动态加载

阅读更多

  private void LoadCategoryTreeView()

    {

        tv.Nodes.Clear();

 

        IList<Category> categoryList = categoryManager.GetAllCategories();

 

        IDictionary<int, TreeNode> CategoryDic = new Dictionary<int, TreeNode>();

 

        //循环类别集合,将集合里面的每个类别对象封装到IDictionary数据结构

        foreach (Category ct in categoryList)

        {

            TreeNode _node = new TreeNode(ct.Name,ct.Id.ToString());

 

            CategoryDic.Add(ct.Id,_node);

        }

 

        //准备建立IDictionary里面封装的TreeNode的从属关系

        foreach (Category ct in categoryList)

        {

            if (ct.ParentId == 0)//ParentId == 0说明是根节点

            {

                tv.Nodes.Add(CategoryDic[ct.Id]);

            }

            else//子节点

            {

                //找到这个当前节点的父节点

                TreeNode pn = CategoryDic[ct.ParentId];

                //找到当前节点

                TreeNode currentNode = CategoryDic[ct.Id];

                //把当前节点添加到父节点里面去

                pn.ChildNodes.Add(currentNode);

            }

        }

 

        tv.ExpandAll();

 

    }

 

 

 

 

//这个是winform里面动态树的写法。是两张表关联的树结构

  Core_Org core_Org;
            IList<Core_Org> listCore_Org = new List<Core_Org>();
            //命令对象
            gmyConn = gmyConn == null ? mySqlConnection.GetConn() : gmyConn;//连接数据库
            SqlCommand cmd = gmyConn.CreateCommand();
            cmd.CommandText = string.Format("select * from Core_Org  where OrgId != '9999'");
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read()) //循环读取数据行
                {
                    core_Org = new Core_Org();
                    core_Org.OrgId = (string)reader["OrgId"];
                    core_Org.OrgName = (string)reader["OrgName"];
                    listCore_Org.Add(core_Org);
                }
            }
            foreach (Core_Org co in listCore_Org)
            {
                tvDoctor.Nodes.Add(co.OrgId, co.OrgName);
            }

            foreach (Core_Org co in listCore_Org)
            {
               
                SqlCommand cmd1 = gmyConn.CreateCommand();
                cmd1.CommandText = string.Format("select * from Core_User where OrgId='" + co.OrgId + "'");
                using (SqlDataReader reader = cmd1.ExecuteReader())
                {
                 
                    while (reader.Read()) //循环读取数据行
                    {
                        tvDoctor.Nodes[co.OrgId].Nodes.Add((string)reader["UserId"] + "-" + (string)reader["UserName"]);
                    }
                }
            }
            tvDoctor.ExpandAll();

分享到:
评论

相关推荐

    安卓多级树形列表(最大同时异步加载60万条数据)

    这个"安卓多级树形列表(最大同时异步加载60万条数据)"项目针对这一问题进行了深度优化,提供了强大的功能和良好的用户体验。 首先,我们要理解多级树形列表的核心原理。在Android中,这种列表通常通过递归实现,每...

    Android多级树形列表实现

    在Android开发中,构建多级树形列表是一种常见的需求,比如在展示文件系统、组织结构或者类别分类时。本文将详细讲解如何在Android中实现这种功能。 首先,我们需要理解树形结构的基本概念。树形结构是由节点(Node...

    android 多级树结构 treelistview

    本文将深入探讨如何实现Android中的多级树结构`TreelistView`,并分享一个实际的示例项目——`Demo_TreeListView-master`。 首先,我们要理解`TreelistView`的基本概念。它是一种视图组件,可以展示具有层次结构的...

    Android Recyclerview实现多级树形列表

    本示例“Android RecyclerView实现多级树形列表”旨在教你如何在RecyclerView中构建一个能够展示层级关系数据的列表。这样的列表常用于展现目录结构、组织架构或者分类信息等。 首先,我们要理解RecyclerView的基本...

    Android多级树形选择列表

    在Android开发中,多级树形选择列表是一种常见的UI组件,尤其在数据分类、层级关系展示等场景下非常实用。这种列表允许用户逐级展开节点,进行递归选择,最终达到选择目标的目的。本篇文章将深入探讨如何实现这样一...

    jquery做的多级树

    **jQuery实现的多级树结构详解** 在网页开发中,多级树结构是一种常见的数据展示方式,它能够清晰地组织和展示层次化的信息。本文将深入探讨如何利用jQuery库来创建一个可自定义的多级树。jQuery因其简洁的API和...

    Android多级树形菜单的实现

    在Android开发中,多级树形菜单是一种常见的用户界面元素,用于展示层次结构的数据,比如文件系统、组织架构等。本篇文章将详细讲解如何在Android中实现这样的功能,主要涉及的技术点包括`ExpandableListView`组件和...

    android多级树菜单应用(源码)

    它通过Adapter与数据源关联,可以动态加载和显示数据。在这个多级树菜单应用中,ListView被用来承载每一级菜单项,通过监听点击事件来展开或收起子菜单。 接着,我们来看如何创建多级树结构。在Android中,通常会...

    android多级树结构ListView

    在Android开发中,构建多级树结构的ListView是一种常见的需求,比如用于展示文件系统、组织架构或者层级菜单等。本文将深入探讨如何实现一个四级树结构的ListView,以"android多级树结构ListView"为例,重点讲解其...

    简单多级树形菜单

    在IT领域,构建一个用户友好的界面是至关重要的,尤其是对于复杂的系统,多级树形菜单成为组织和展示大量信息的有效工具。本项目名为“简单多级树形菜单”,利用了CSS(层叠样式表)、jQuery(一种JavaScript库)...

    Android中多级树目录的实现方式

    在Android开发中,构建多级树目录是一种常见的需求,它常用于文件管理、导航菜单、组织结构等场景。本文将详细介绍如何使用ListView组件来轻松实现Android中的多级树形组件。 首先,理解基本概念。ListView是...

    多级编辑框动态添加

    在本项目"多级编辑框动态添加"中,我们将深入探讨如何实现这一功能,并结合SQLite数据库存储功能,构建一个完整的树形结构应用。 首先,我们要理解动态添加布局的概念。在Android或者Web开发中,动态添加布局是指在...

    多级树形控件

    本文将详细解析"多级树形控件"的核心特性,包括其在`ListView`和`RecyclerView`中的实现,动态添加节点的能力,以及自定义布局的灵活性。 1. **多级树形控件基础** 多级树形控件是通过层级关系来展示数据的一种...

    VCTREE 对建立树的多级架构有所帮助

    在IT领域,构建多级树结构是常见的数据组织方式,特别是在文件系统、数据库索引、图形用户界面(GUI)设计等方面。"VCTREE"工具就是这样一个专门用于创建和管理多级树形结构的工具。它能帮助用户方便地增加和删除...

    java构造多级树结构,支持多根节点

    在Java编程中,构建多级树...总之,构建一个多级树结构并支持多根节点的Java程序涉及创建节点类、构建树结构、添加多根节点以及生成前端可以解析的数据格式。同时,结合前端的ZTree库可以实现美观且交互式的树形展示。

    多级树结构

    "多级树结构"是一种常见的组织数据的方法,特别适用于具有层次关系的数据,如部门、组织架构或者文件系统。这种结构允许用户以直观的方式浏览和导航复杂的层级关系,同时也优化了数据的加载和显示,减少了不必要的...

    动态加载树动态加载树动态加载树

    4. **递归加载**:如果动态加载树支持多级展开,那么当用户进一步展开子节点时,同样的过程会递归地应用到子节点上。 5. **缓存管理**:为了提高性能,可以实现缓存机制,将最近访问过的节点数据暂存起来,防止重复...

    jQuery多级树形分类折叠菜单.zip

    《jQuery实现多级树形分类折叠菜单》 在网页设计中,树形菜单是一种常见的组织信息的方式,尤其在展示层级关系复杂的数据时更为适用。jQuery作为一款轻量级的JavaScript库,提供了丰富的功能来简化DOM操作,使得...

    动态加载树结构实现方法

    根据提供的信息,我们可以深入探讨关于“动态加载树结构实现方法”的相关知识点,特别是递归调用在树结构中的应用。 ### 动态加载树结构实现方法 #### 1. 树结构简介 树结构是一种非线性的数据结构,用于表示具有...

    jquery下拉多级树选择插件(支持左右移动,以及模糊搜索功能).zip

    4. 绑定数据源,可以是静态数据或者动态加载的数据。 5. 监听插件的事件,以便在节点移动或搜索时执行相应的业务逻辑。 总的来说,这个"jquery下拉多级树选择插件"提供了高效的数据选择和管理工具,其模糊搜索和...

Global site tag (gtag.js) - Google Analytics