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了。
虽然是一个小功能,却费了不少周折,希望有心人能把它写成控件就好了。
来源:https://www.cnblogs.com/chenruibuaa/archive/2004/09/10/41959.html