树形结构 DropDownList

前台

   <asp:DropDownList ID="ddlOutType" runat="server" />

后台代码:

先绑定第一级

                string SQL = "SELECT CategoryID,CategoryName,ParentID FROM Category"                    DataTable datatable = SqlHelper.ExecuteDataTable(SQL);                DataRow[] row = datatable.Select("ParentID=‘0‘");                //添加根目录                for (int i = 0; i < row.Length; i++)                {                    ListItem li = new ListItem(row[i]["CategoryName"].ToString(), row[i]["CategoryID"].ToString());                    ddlOutType.Items.Add(li);                    addOtherDll("", Convert.ToInt32(row[i]["CategoryID"]), datatable, 1, ddlOutType);                }

递归查找下级

      /// <param name="Pading">空格</param>
        /// <param name="DirId">父路径ID</param>
        /// <param name="datatable">返回的datatable</param>
        /// <param name="deep">树形的深度</param>
        private void addOtherDll(string Pading, int DirId, DataTable datatable, int deep,DropDownList ddl)
        {
            DataRow[] rowlist = datatable.Select("ParentID=‘" + DirId + "‘");
            foreach (DataRow row in rowlist)
            {
                string strPading = "";
                for (int j = 0; j < deep; j++)
                {
                    strPading += " "; //用全角的空格
                }
                //添加节点
                ListItem li = new ListItem(strPading + "|--" + row["CategoryName"].ToString(),row["CategoryID"].ToString());
                ddl.Items.Add(li);
                //递归调用addOtherDll函数,在函数中把deep加1
                addOtherDll(strPading, Convert.ToInt32(row["CategoryID"]), datatable, deep + 1, ddl);
            }
        }
时间: 2024-11-11 10:38:57

树形结构 DropDownList的相关文章

DropDownList中显示无限级树形结构

效果图: 数据库表: DirID:目录的ID,ParentID:目录的父路径ID,Name:目录的名字主要代码: using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlContr

Java创建树形结构算法实例

在JavaWeb的相关开发中经常会涉及到多级菜单的展示,为了方便菜单的管理需要使用数据库进行支持,本例采用相关算法讲数据库中的条形记录进行相关组装和排序讲菜单组装成树形结构. 首先是需要的JavaBean 1 2 3 import java.io.Serializable; 4 import java.util.ArrayList; 5 import java.util.Collections; 6 import java.util.Comparator; 7 import java.util.

Hibernate中,基于Annotation的简单树形结构的实现

在系统设计中,经常用到递归性质的树形结果,比如菜单.多级分类等,一般是在同一个表中定义父子关系实现这种结构. 下面是在Hibernate中,基于Annotation的简单树形结构的实现: 第一步:创建Entity类,并添加注解实现关联关系    ps: 主要是利用@ManyToOne 和 @OneToMany 配置在同一个Entity类中实现树形递归的结构.hibernate注解形式比在xml配置更加简洁 TreeNode.java 1 package com.hfut.hibernate; 2

Qt QTreeWidget 树形结构实现(转)

Qt中实现树形结构可以使用QTreeWidget类,也可以使用QTreeView类,QTreeWidget继承自QTreeView类.树形效果如下图所示: 这是怎么实现的呢?还有点击节点时会有相应的事件响应. 1. 树形结构实现 QT GUI中有treeWidget部件,将该控件在Gui中布局好,假设其对象名为treeWidget. QTreeWidget类官方文档:http://qt-project.org/doc/qt-4.8/qtreewidget.html 树形结构通过QTreeWidg

递归算法解析成树形结构

/** * 递归算法解析成树形结构 * * @param cid * @return * @author jiqinlin */ public TreeNodeModel recursiveTree(int org_code) { //根据cid获取节点对象(SELECT * FROM tb_tree t WHERE t.cid=?) MiddleOrgEntity middleOrgEntity = new MiddleOrgEntity(); middleOrgEntity.setTable

你认为扁平化模式好还是树形结构好?

我认为对于小公司来说,扁平化的模式更好一些.由于小公司的规模比较小,公司内的员工不多,所需要的管理层次不多.扁平化模式的决策层和操作层之间的中间管理层次少,这可以使企业能够快速地将决策权延至企业生产.营销的最前线,从而为提高企业效率.而且由于公司规模小,管理部门之间的信息资源的交流.相互调用不会太多,这样可以是决策者集中更多的精力在企业的市场对策和企业发展的战略问题上. 对于大公司来说,树形结构会更好一些.大公司的规模比较大,所要做的项目比较多,如果一个人负责多个项目会造成项目完成效率不高.在树

解析java树形结构

思路一: 1.准备表结构及对应的表数据a.表结构: create table TB_TREE ( CID NUMBER not null, CNAME VARCHAR2(50), PID NUMBER //父节点 ) b.表数据: insert into tb_tree (CID, CNAME, PID) values (1, '中国', 0); insert into tb_tree (CID, CNAME, PID) values (2, '北京市', 1); insert into tb_

sqlite3树形结构遍历效率对照測试

sqlite3树形结构遍历效率对照測试 一.缘起 项目数据结构:本人从事安防行业,视频监控领域.项目中会遇到监控点位的组织机构划分.暂时划分的巡逻点位等.这些相机点位.连同组织机构,它们在逻辑关系上构成了一个树形结构. 又因为不论什么一个点位属于一个组织机构,也可能属于一个被暂时创建的视频巡逻计划中,因此,能够看出,不论什么一个节点,包含相机节点和组织机构节点,都有可能有至少一个父级节点,且不论什么一个组织机构节点也会有多个下级子节点.这中逻辑关系又构成了图. 数据量规模:一个市级别的管理平台,

salesforce 零基础学习(七十)使用jquery tree实现树形结构模式

项目中UI需要用到树形结构显示内容,后来尽管不需要做了,不过还是自己做着玩玩,mark一下,免得以后项目中用到. 实现树形结构在此使用的是jquery的dynatree.js.关于dynatree的使用可以参考:http://wwwendt.de/tech/dynatree/doc/dynatree-doc.html#h4.2 对于树形结构,这里不做太多介绍,树一般需要一个根节点,根节点下面可以有很多子节点或者叶子节点,子结点也可以包含叶子结点或者子节点.我们在设计表结构的时候可以考虑自连接操作