DropDownList无限级分类(灵活控制显示形式)
来源:互联网 发布:让中国儿童也学会编程 编辑:程序博客网 时间:2024/05/22 12:43
数据库设计图:
classid classname parentid
1 新闻 0 2 国内新闻 1 3 国内看点 1 4 web开发 0 5 asp.net 4 6 社会民生 2 7 C#教程 4 8 百姓生活 6
前台代码:
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddlClass" runat="server">
</asp:DropDownList></div>
</form>
</body>
后台代码:
DB cn = new DB();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindDrpClass();
}
}
#region "绑定顶级分类"
/// <summary>
/// 绑定顶级分类
/// </summary>
private void BindDrpClass()
{
string sql = "select * from tb_Class";
DataTable dt = cn.ReturnTable2(sql);
ddlClass.Items.Clear();
ddlClass.Items.Add(new ListItem("添加根栏目", "0"));
DataRow[] drs = dt.Select("ParentID= " + 0);
foreach (DataRow dr in drs)
{
string classid = dr["ClassID"].ToString();
string classname = dr["ClassName"].ToString();
//顶级分类显示形式
classname = "╋" + classname;
ddlClass.Items.Add(new ListItem(classname, classid));
int sonparentid = int.Parse(classid);
string blank = "├";
//递归子分类方法
BindNode(sonparentid, dt, blank);
}
ddlClass.DataBind();
}
#endregion
#region "绑定子分类"
/// <summary>
/// 绑定子分类
/// </summary>
/// <param name="parentid"></param>
/// <param name="dt"></param>
/// <param name="blank"></param>
private void BindNode(int parentid, DataTable dt, string blank)
{
DataRow[] drs = dt.Select("ParentID= " + parentid);
foreach (DataRow dr in drs)
{
string classid = dr["ClassID"].ToString();
string classname = dr["ClassName"].ToString();
classname = blank + classname;
ddlClass.Items.Add(new ListItem(classname, classid));
int sonparentid = int.Parse(classid);
string blank2 = blank + "─";
BindNode(sonparentid, dt, blank2);
}
}
#endregion
DB类的定义(只是简单做测试用的):
public SqlConnection con = new SqlConnection("uid=sa;pwd=;DataBase=test;Server=(local);");
public DataTable ReturnTable2(string sql)
{
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds.Tables[0];
}
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类灵活控制显示形式
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)
- DropDownList无限级分类(灵活控制显示形式)ASP.net|论坛
- DropDownList无限级分类(灵活控制显示形式) ASP.net|论坛 - 深博技术论坛 - Powered by Discuz!NT
- DropDownList 无限级分类 树状显示 (递归)
- DropDownList 无限级分类
- DropDownList无限级分类
- DropDownList 无限级分类
- DropDownList 无限级分类
- DropDownList实现无限级分类
- DropDownList实现无限级分类
- 北京大学复试听力题型
- 实际编程中常用的线程同步技术【C#,C++】
- DevExpress8.1 ASPxGridView保存数据的心得
- 十万火急
- 日式键盘与美式键盘转换
- DropDownList无限级分类(灵活控制显示形式)
- CSS教程(二)语法
- CSS教程(三)伪类——动态链接
- CSS教程(四)如何在网页中插入CSS
- GridView编辑时动态将值转给用户自定义控件
- 十大古今名人语录经典(2005-2006版)
- Outlook Express 收发邮件出现"0x800CCC0F"错误代码解决方法
- CSS教程(五)用DW4创建CSS
- CSS教程(六) DW4中CSS属性详解