您的位置:首页 > 数据库

【Vegas原创】TreeView操作数据库的使用方法(VB)

2014-05-22 15:43 627 查看
     Dim dbAccess As New DBAccess

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

            If Not Page.IsPostBack Then

                PopulateNodes(TreeView1.Nodes, 0)

            End If

        End Sub

        Protected Sub TreeView1_TreeNodePopulate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles TreeView1.TreeNodePopulate

            PopulateNodes(e.Node.ChildNodes, e.Node.Value)

        End Sub

        Public Sub PopulateNodes(ByVal nodes As TreeNodeCollection, Optional ByVal intParentID As Int32 = 0)

            Dim dt As New DataTable()

            dt = GetTreeTable()

            Dim strExpression As String

            strExpression = "[parentID] = " & intParentID

            Dim foundRows() As DataRow

            foundRows = dt.Select(strExpression)

            Dim I As Integer

            For I = 0 To foundRows.GetUpperBound(0)

                Dim tn As New TreeNode()

                tn.Text = foundRows(I).Item("TableName").ToString()

                tn.Value = foundRows(I).Item("ID").ToString()

                tn.NavigateUrl = foundRows(I).Item("url").ToString()

                tn.Target = foundRows(I).Item("target").ToString()

                tn.CollapseAll()

                tn.Expand()

                Dim dr() As DataRow

                dr = dt.Select("[parentID] = " & tn.Value)

                If dr.GetUpperBound(0) > -1 Then

                    tn.PopulateOnDemand = True

                End If

                nodes.Add(tn)

            Next

          

        End Sub

        Public Function GetTreeTable() As DataTable

            Dim dt As New DataTable()

            Dim ds As New DataSet()

            '''''''''''''''''''''''''TreeView Visible ~~~~~~~~~~~~~~~~~~~~~~@#@!~~~ by Vegas 

            Dim cookies As HttpCookie

            cookies = Request.Cookies("PAS")

            Dim workid As String = cookies("Emp_No")

            Dim strPa_Rank As String = cookies("Job_Rank")

            Dim super_user As String = cookies("Super_User")

            If Integer.Parse(strPa_Rank) > 30 Then

                If Integer.Parse(super_user) = 0 Then

                    dt = dbAccess.GetDataTable("select * from treeview where id<>2 and id<>4 order by id")

                    HttpContext.Current.Cache.Insert("Treeview", dt)

                Else

                    dt = dbAccess.GetDataTable("select * from treeview order by id")

                    HttpContext.Current.Cache.Insert("Treeview", dt)

                End If

            Else

                If Integer.Parse(super_user) = 0 Then

                    dt = dbAccess.GetDataTable("select * from treeview where id<>2 order by id")

                    HttpContext.Current.Cache.Insert("Treeview", dt)

                Else

                    dt = dbAccess.GetDataTable("select * from treeview order by id")

                    HttpContext.Current.Cache.Insert("Treeview", dt)

                End If

            End If

            Return dt

        End Function

    End Class

表结构:
idparentIDtableNameurltargetexpanded
10绩效考核系统
21管理者设定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: