zoukankan      html  css  js  c++  java
  • C# ASP.Net 多级分类Treeview的实现

    数据库:

    Category varchar(Max) not null;

    CategoryName varchar(Max) not null;

    ParentID varchar(Max) not null;

    每个分类ID采用两位数字字符

    例如:00,01,02为最顶级大类

           0001,0002,0003为00大类下的三个小类

           0100,0101,0102 为01大类下的小类

    以此类推

    代码实现:

    忽略Models \DAL\BLL三层的代码,页面代码实现如下

    //pageload

     protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                GridView1.DataSource = new CategoryBLL().GetChildCategory("01");
                GridView1.DataBind();
                GetChildNodes(TreeView1.Nodes, "0");
            }
        }

    //通过递归获取子类

    private void GetChildNodes(TreeNodeCollection newNodes, string parentId)
        {
            List<CategoryInfo> childCategory = new List<CategoryInfo>();

            try
            {
                childCategory = new CategoryBLL().GetChildCategory(parentId);
            }
            catch (Exception ex)
            {

                throw ex;
            }

            if (childCategory.Count > 0)
            {
                TreeNode childNode;
                foreach (CategoryInfo category in childCategory)
                {
                    childNode = new TreeNode(category.Categoryname, category.Categoryid);

                    newNodes.Add(childNode);
                    GetChildNodes(childNode.ChildNodes, category.Categoryid);
                }
     
            }
     
        }


    本文来自CSDN博客,转载 出处:http://blog.csdn.net/mikalee/archive/2009/03/08/3968287.aspx

  • 相关阅读:
    JS 操作属性
    JS 操作对象 事件 样式
    JS 一个页面关闭多个页面
    JS DOM
    JS 语言基础
    JS 基础知识
    CSS样式表
    HTML 常用标记
    HTML iframe框架
    28-2 logging 日志模块
  • 原文地址:https://www.cnblogs.com/dudu837/p/1552912.html
Copyright © 2011-2022 走看看