搜索: 标题内容作者  
  首页VB.NET教程VB.NET与ASP.NET
背景:
阅读新闻

VB.NET实现DropDownList无限级分类

[日期:2008-03-17]   来源:互联网整理  作者:admin   [字体: ]
    新闻简介:主要使用递归实现,数据库结构:
最终样式:
        关 键 词:   DropDownList  无限级分类 

主要使用递归实现,数据库结构:
单击显示全图,Ctrl+滚轮缩放图片


最终样式:
单击显示全图,Ctrl+滚轮缩放图片 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    If Not Page.IsPostBack Then
        BindDrpClass()
    End If
End Sub
Private Sub BindDrpClass()
'绑定顶级分类

    Dim classSystem As New Bll.Class()
    Dim dt As DataTable = classSystem.GetClassList("").Tables(0)
    ddlClass.Items.Clear()
    ddlClass.Items.Add(New ListItem("添加根栏目", "0"))
    Dim drs As DataRow() = dt.[Select]("ParentID= " + 0)
   
    For Each dr As DataRow In drs
        Dim classid As String = dr("ClassID").ToString()
        Dim classname As String = dr("ClassName").ToString()
        '顶级分类显示形式
       
        classname = "╋" + classname
       
        ddlClass.Items.Add(New ListItem(classname, classid))
        Dim sonparentid As Integer = Integer.Parse(classid)
        Dim blank As String = "├"
        '递归子分类方法
       
        BindNode(sonparentid, dt, blank)
    Next
    ddlClass.DataBind()
End Sub
'绑定子分类

Private Sub BindNode(ByVal parentid As Integer, ByVal dt As DataTable, ByVal blank As String)
    Dim drs As DataRow() = dt.[Select]("ParentID= " + parentid)
   
    For Each dr As DataRow In drs
        Dim classid As String = dr("ClassID").ToString()
        Dim classname As String = dr("ClassName").ToString()
       
        classname = blank + classname
        ddlClass.Items.Add(New ListItem(classname, classid))
       
        Dim sonparentid As Integer = Integer.Parse(classid)
        Dim blank2 As String = blank + "─"
       
        BindNode(sonparentid, dt, blank2)
    Next
End Sub

Public Function GetClassList(ByVal strWhere As String) As DataSet
    Dim strSql As New StringBuilder()
    strSql.Append("select * from tb_Class ")
    If strWhere.Trim() <> "" Then
        strSql.Append(" where " + strWhere)
    End If
    Return SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSql.ToString())
End Function

If you believe an article violates your rights or the rights of others, please contact us.

收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻      
友情链接
本文评论   [发表评论] 全部评论 (0)
赞助商广告
热门评论