文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>treeview 绑定数据库

treeview 绑定数据库

时间:2010-12-13  来源:gmtyt

 

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Globalization
Imports System.Text
Public Partial Class _Default
Inherits System.Web.UI.Page
Private sqlCon As New SqlConnection("server=.;database=Test;Trusted_Connection=True")
Protected Sub Page_Load(sender As Object, e As EventArgs)
If Not Page.IsPostBack Then
DeptTree(15)
End If
End Sub

Public Function dsDataBind(sqlSelect As String) As DataSet
Dim da As New SqlDataAdapter(sqlSelect, sqlCon)
Dim ds As New DataSet()
da.Fill(ds)
Return ds
End Function

Protected Function DeptTree(gradeCount As Integer) As TreeNode
'gradecount为最大的层数
Dim ds As DataSet = dsDataBind("select * from tb_Department order by fdeptid asc")
Dim id As String, name As String
Dim grade As Integer
Dim tn As TreeNode() = New TreeNode(gradeCount - 1) {}
Dim tree As New TreeNode()
For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
name = ds.Tables(0).Rows(i)("fdeptname").ToString()
id = ds.Tables(0).Rows(i)("fdeptid").ToString()
grade = Convert.ToInt32(ds.Tables(0).Rows(i)("fgrade").ToString())
If grade = 0 Then
tn(grade) = New TreeNode(name, id)
TreeView1.Nodes.Add(tn(0))
PostTree(tn(grade), gradeCount, id)
Else
tn(grade) = New TreeNode(name, id)
tn(grade - 1).ChildNodes.Add(tn(grade))
PostTree(tn(grade), gradeCount, id)
End If
Next
Return tn(0)
End Function

Protected Sub PostTree(node As TreeNode, gradeCount As Integer, fdeptid As String)
'gradecount为最大的层数
Dim ds As DataSet = dsDataBind("select * from tb_Post where fdeptid='" & fdeptid & "' order by fdeptid asc")

Dim id As String, postName As String, userName As String
Dim grade As Integer, total As Integer
Dim tn As TreeNode() = New TreeNode(gradeCount - 1) {}
Dim tree As New TreeNode()
For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
postName = ds.Tables(0).Rows(i)("fpostname").ToString()
id = ds.Tables(0).Rows(i)("fpostid").ToString()
grade = Convert.ToInt32(ds.Tables(0).Rows(i)("fsamedeptGrade").ToString())
Dim userds As DataSet = dsDataBind("select * from tb_User where fpostid ='" & id & "'and fdeptid ='" & fdeptid & "'")
If userds.Tables(0).Rows.Count = 0 Then
userName = "空"
Dim newName As String = postName & "[" & userName & "]"
If grade = 0 Then
tn(grade) = New TreeNode(newName, id)
'为当前部门节点添加父级岗位节点
node.ChildNodes.Add(tn(grade))
Else
tn(grade) = New TreeNode(newName, id)
'为父级岗位节点添加子节点
tn(grade - 1).ChildNodes.Add(tn(grade))
End If
Else
total = userds.Tables(0).Rows.Count
Dim newName As String = postName & "[共" & total & "人]"
If grade = 0 Then
tn(grade) = New TreeNode(newName, id)
node.ChildNodes.Add(tn(grade))
'为当前部门节点添加父级岗位节点
UserNode(tn(grade), id, fdeptid)
Else
tn(grade) = New TreeNode(newName, id)
tn(grade - 1).ChildNodes.Add(tn(grade))
'为父级岗位节点添加子节点
UserNode(tn(grade), id, fdeptid)
End If
End If
Next
End Sub
Public Sub UserNode(node As TreeNode, fpostid As String, fdeptid As String)
'取出tb_user表中的user
Dim ds As DataSet = dsDataBind("select * from tb_User where fpostid ='" & fpostid & "'and fdeptid ='" & fdeptid & "'")
If ds.Tables(0).Rows.Count <> 0 Then
For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
Dim tn As New TreeNode()
tn.Text = ds.Tables(0).Rows(i)("fname").ToString()
tn.Value = ds.Tables(0).Rows(i)("fuserid").ToString()
node.ChildNodes.Add(tn)
Next
End If
End Sub

End Class

排行榜 更多 +
我的武侠梦手游下载

我的武侠梦手游下载

角色扮演 下载
快乐连连看下载免费版

快乐连连看下载免费版

休闲益智 下载
泛滥死者布道手机版下载

泛滥死者布道手机版下载

角色扮演 下载