无限级分类实现了添加功能,但是不懂怎么读取出来,实现dropdownList级联的效果。
添加的效果:
数据库表
源码在这里:http://115.com/file/dptg5kr5#UnlimitedClassification.rar
这个肯的用到递归的,你的数据表简化为 id name fid.如同你上图,电子产品和新闻的fid=0,电脑的fid为电子产品的标识ID,我曾经的一个做法是,先获取fid为0的所有数据, 然后循环每条数据,根据每条数据的fid来获取他的子类(这里就要用到递归了。),循环子类,设置一个记录深度的变量,并且记录当前深度的所有元素(也就是所有的id)、去重写入到Dictionary中,键值对为当前深度、以及当前的所有元素(可以是id组成的字符串等等,下次递归的时候要用到)。 OK ,循环子类打印出当前每条数据,根据每条数据的ID去循环Dictionary中的值,查看是否包含在此中。最后递归次方法。传入循环到的每条数据的ID 到次方法中。
如果是表格输出:有样式要求,一般搜下第三方脚本,按组件格式输出就可以了,如搜索“tree.js“之类的。
如果DrowDown输出,这里有一文:http://www.cnblogs.com/cyq1162/archive/2010/12/27/1918317.html
一个思路,你试试看:
public class A{
public type b{set;get;}
public type d{set;get;}
public IList<A> children{set;get;}
}
抽象一个这样的类,用递归遍历数据源,这样最好生成的对象就象就是一个树,这个只适合单根节点的!如果要是要求多根节点,你可以自己扩展一下。希望对你有所帮助!!
先用如下的html代码和一些简单的css和jquery代码形成树状结构,然后通过程序硬生成(程序中用一个递归的方法)的方法,拼接html代码,然后输出到页面上。
<ul> <li>第一级 <ul> <li>第二级1</li> <li>第二级2 <ul> <li>第三级</li> </ul> </li> </ul> </li> </ul>
用ZTree吧,这个挺不错的!很容易明白也实现
谢谢谢谢谢谢谢谢谢谢