我们在数据库中 存的是
id name ParentID(父节点)
1 新闻 0
2 国内 1
3 山东 2
………………
显示为:
public void GetAllArticleClass()
{
string sqlStr = "select * from ArticleClass where ParentID=0";//显示最顶层所有
foreach (DataRow dr in con.conDataSet(sqlStr, "0").Tables[0].Rows)//加顶层
{
dropAddPurview.Items.Add(new ListItem(dr["ClassName"].ToString(), dr["ClassID"].ToString()));
num = 0;
this.ab(dr["ClassID"].ToString());//调用递归!
}
}
private void ab(string id)//递归
{
string sqlStr = "select * from ArticleClass where ParentID="+id+"";
foreach (DataRow dr in con.conDataSet(sqlStr, "0").Tables[0].Rows)//
{
dropAddPurview.Items.Add(new ListItem(this.stradd(int.Parse(dr["Depth"].ToString())) + dr["ClassName"].ToString(), dr["ClassID"].ToString()));
// if (id != dr["ParentID"].ToString())
ab(dr["ClassID"].ToString());
}
}
private string stradd(int num)//级别链接字符
{
string str = "";
for (int i = 0; i < num; i++)
{
if (num == 1 || num - i == 1)
str += "┕┅ ";
else
str += Server.HtmlDecode(" ");//因为droplist 不直接支持html标记,所以我们采用 服务器对空格解码!
}
return str;
}
本文作者:佚名 来源:http://hi.baidu.com/chinadaima/blog/
CIO之家 www.ciozj.com 微信公众号:imciow