实现多级下拉列表
MS-SQL 里有个“department”表,由departmentID, departmentName, parentDeptID三个字段组成,如果没有parentDept,则parentDeptID=0. department在表中是任意规则排序的。 现在要根据这个关系来实现一个多级的下拉列表。效果类似于下面 计算机学院 ---计算机系 ---新媒体艺术系 外语学院 ---英语系 ---德语系 如何从department表中取出所有数据动态生成呢?现在MSSQL里边写个函数GetSubTree,得到某个departmentID的所有下属department 具体代码请参考 这里 .(会把某个department的层数求出) 然后写一个存储过程调用这个函数来实现一些美观字符的添加, 参数为parentID。 最后在程序里调用存储过程。取出某个departmentID的所有子department。注意这里只是得出某个最高级别department的子树。如何得出全部的呢? 先求出所有的parentDeptID为0的一个DataTable dtChild,然后遍历其每一行并求出相应的子树,添加到另外一个DataTable dtAll中,最后 DropDownList.DataSource = dtAll.就OK了。 虽然是一个小功能,却费了不少周折,希望有心人能把它写成控件就好了。