当前位置: 首页 > 编程笔记 >

.Net中实现无限分类的2个例子

荆学民
2023-03-14
本文向大家介绍.Net中实现无限分类的2个例子,包括了.Net中实现无限分类的2个例子的使用技巧和注意事项,需要的朋友参考一下

以前总想着搞这个无限分类,今天终于得空好好的看了下,发现实现的原理还是很简单的,数据结构上,用两列(分类编号,上级编号)就可以实现,可是为了联合查询的方便,一般都再增加一列(深度),在这个实例里,我只用了两列,剩下的无非就是递归着对TreeView进行数据绑定而已~~。


 public partial class _Default : System.Web.UI.Page

    {

        BIL bil = new BIL();

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                bind_tree("0",null);

            }

        }

        protected void bind_tree(string ChildNode,TreeNode tn)

        {

            DataTable dt = bil.GetByClassPre(ChildNode).Tables[0];

            foreach (DataRow dr in dt.Rows)             {                 TreeNode Node = new TreeNode();                 if (tn==null)                 {                     //根                     Node.Text = dr["ClassName"].ToString();                     this.TreeView1.Nodes.Add(Node);                     bind_tree(dr["ClassId"].ToString(), Node);                 }                 else                 {                     //当前节点的子节点                     Node.Text = dr["ClassName"].ToString();                     tn.ChildNodes.Add(Node);                     bind_tree(dr["ClassId"].ToString(),Node);                 }             }         }     }

上次写了使用TreeView控件进行无限分类绑定的方法,这回再写个通用性更好的~~嘿嘿 绑定DropDownList~~思想跟上篇日志很接近,也是使用递归,当然,网络上还有很多人给数据库增加了一个“Depth(深度)”的字段,这样进行绑定的时候还可以更简单些哈~~当然,没有必要的就不加了,还是递归使用起来简单些哈~~不多说了,上代码哈:


protected void bind_droplist(string ChildNode, string tmp)

        {

            DataTable dt = bil.GetByClassPre(ChildNode).Tables[0];

            foreach (DataRow dr in dt.Rows)             {                 if (dr["ClassPre"].ToString()=="0")                 {                     //如果是根节点                     tmp = "";                     DropDownList1.Items.Add(dr["ClassName"].ToString());                     bind_droplist(dr["ClassId"].ToString(), tmp + " ");                 }                 else                 {                     //不是根节点                     DropDownList1.Items.Add( tmp+"|-" + dr["ClassName"].ToString());                     bind_droplist(dr["ClassId"].ToString(), tmp + " ");                 }             }         }


 类似资料:
  • 本文向大家介绍laravel 5.4中实现无限级分类的方法示例,包括了laravel 5.4中实现无限级分类的方法示例的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要给大家介绍的是关于laravel 5.4中实现无限级分类的相关内容,分享出来供有需要的朋友们参考学习,下面话不多说,来一起看看详细的介绍吧。 方法如下: 1、建立表 在database/migrations/下找到你的迁移文件

  • 本文向大家介绍php实现无限级分类,包括了php实现无限级分类的使用技巧和注意事项,需要的朋友参考一下 1.递归,查找子孙树 2.递归,求家谱树 家谱树的应用 ,如面包屑导航 首页 > 手机类型 > CDMA手机 > 公益PHP > 递归应用 2.迭代,求家谱树

  • 本文向大家介绍PHP实现递归无限级分类,包括了PHP实现递归无限级分类的使用技巧和注意事项,需要的朋友参考一下 在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。 递归,简单的说就是一段程序代码的重复调用,当把代码写到一个自定义函数中,将参数等变量保存,函数中重复调用函数,直到达

  • 本文向大家介绍php无限级分类实现方法分析,包括了php无限级分类实现方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php无限级分类实现方法。分享给大家供大家参考,具体如下: 1. 递归 2. 普通 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符

  • 本文向大家介绍PHP实现无限极分类生成分类树的方法,包括了PHP实现无限极分类生成分类树的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现无限极分类生成分类树的方法。分享给大家供大家参考,具体如下: 现在的分类数据库设计基本都是:每一个分类有一个id主键字段,一个pid指向父类的id,这样便可实现无限级分类,取出的数据就是如下的格式: 不多说,直接上处理代码: 测试运行: 运

  • 本文向大家介绍php实现递归与无限分类的方法,包括了php实现递归与无限分类的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现递归与无限分类的方法,分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。