DropDownList 无限级分类 树状显示 (递归)
2009-09-17 10:30
627 查看
---代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ddlTstBind(1,0,"");
}
}
protected void ddlTstBind(int rankid,int supid,string str)
{
if(supid != 0)
{
str += "---";
}
int rank = Convert.ToInt32(DBUtility.DbHelperSQL.GetSingle("select max(tRank) from tst"));
DataTable dt = DBUtility.DbHelperSQL.Query("select * from tst where tRank = '" + rankid + "' and tSup = '"+supid+"' Order by tId Asc").Tables[0];
foreach (DataRow rows in dt.Rows)
{
rankid = Convert.ToInt32(rows["tRank"])+1;
supid = Convert.ToInt32(rows["tId"]);
ListItem li = new ListItem();
li.Text = str + rows["tName"].ToString();
li.Value = rows["tId"].ToString();
ddlTst.Items.Add(li);
if (rankid > rank)
{
}
else
{
ddlTstBind(rankid,supid,str);
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (ddlTst.SelectedValue == "0")
{
if (DBUtility.DbHelperSQL.ExecuteSql("insert into tst(tName,tRank,tSup) values('" + txtName.Text.ToString().Trim() + "','1','0')") > 0)
{
Response.Write("添加最高级别成功!");
}
else
{
Response.Write("添加最高级别成功!");
}
}
else
{
int id = Convert.ToInt32(ddlTst.SelectedValue);
int rank = Convert.ToInt32(DBUtility.DbHelperSQL.GetSingle("select tRank from tst where tId='"+id+"'"))+1;
if (DBUtility.DbHelperSQL.ExecuteSql("insert into tst(tName,tRank,tSup) values('" + txtName.Text.ToString().Trim() + "','" + rank + "','" + id + "')") > 0)
{
Response.Write("添加" + rank.ToString() + "级类别成功!");
}
else
{
Response.Write("添加" + rank.ToString() + "级类别成功!");
}
}
txtName.Text = "";
ddlTstBind(1, 0, "");
}
---建库脚本
create table tst
(
tId int identity(1,1), --标识列
tName varchar(50), --列名
tRank int, --当前级别
tSup int --所属上级类别的标识
)
相关文章推荐
- 递归在Dropdownlist中显示树状结构
- DropDownList无限级分类(灵活控制显示形式)ASP.net|论坛
- 转载笔记:DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)
- 用递归在Dropdownlist中显示树状结构
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)
- C#递归在dropdownlist显示树状
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)
- 用递归在Dropdownlist中显示树状结构(连数据库)
- 用递归在Dropdownlist中显示树状结构
- 用递归在Dropdownlist中显示树状结构(连数据库)
- (无限级、递归)DropDownList显示树形分类
- DropDownList无限级分类(灵活控制显示形式)
- 通过递归方法 将DataTable中的树状数据信息 按树状格式显示在DropDownList中
- 笔记:DropDownList无限级分类(灵活控制显示形式)
- linq递归把实体转换为树状输出,linq无限级分类递归
- C#递归在dropdownlist显示树状(转)
- 笔记:DropDownList无限级分类(灵活控制显示形式)