DropDownList下拉框中显示树状图
DropDownList下拉框中显示树状图
在.NET中有的时候需要下框中显示树状图,其实无论是TreeView控件还是DropDownList控件,树状图的基本思路就是递归算法,自己调用自己,直到加载完数据库中所有的列,效果如图:
数据库:
需要用到的字段是:CategoryID(列ID)、CategoryName(分类名)、ParentCategoryID(父类ID)
实现思路:树状图是根据ParentCategoryID来判断我是谁的子目录,观察数据库你会发现子目录的ParentCategoryID对应了根目录的CategoryID,例如:文具是所有笔的根目录,所以所有的笔ParentCategoryID=CategoryID(文具)=29,当后台在执行循环的时候就是根据这一条件来判断列名是子目录还是根目录,所有根目录的ParentCategoryID=0,当你想明白了这一点,那么树状图就会变得很容易了。
话不多说,直接上代码
前台代码就一个DropDownList:
<form id="form1" runat="server">
<div>
上级分类:<asp:DropDownList ID="ddFenL" runat="server"></asp:DropDownList>
</div>
</form>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
//判断窗体是否为首次加载
if (!IsPostBack)
{