VB.NET treeview 控件

lijujie19860802 2009-11-10 10:53:23
>销售部
>开发部
>实施部

点开销售部时,销售部下面子节点显示属于这个部门的人
如:
>销售部
->小李
->小王
这样子~~~
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
古今多少事 2009-11-10
  • 打赏
  • 举报
回复
使用SQL查询到销售部所属人员循环添加到节点下。
cupoflife 2009-11-10
  • 打赏
  • 举报
回复
你就看看大概吧。。。
cupoflife 2009-11-10
  • 打赏
  • 举报
回复

Protected Overrides Sub MyToolbar_RequeryBefore()
Dim _node As TreeNode
Dim _node1 As TreeNode
Dim Pnode(1) As TreeNode

Dim UserListReader As System.Data.IDataReader
UserListReader = Nothing

Me.FlatTreeView1.Nodes.Clear()
Me.FlatTreeView1.BeginUpdate()
'最顶层
_node = New TreeNode("用户列表")
_node.Name = "SccpcUser"
_node.Tag = "0"
_node.ImageIndex = 0
_node.SelectedImageIndex = 0
Me.FlatTreeView1.Nodes.Add(_node)
Try
'获取用户列表
Dim para() As SqlClient.SqlParameter = {New SqlClient.SqlParameter("@BmDH", SqlDbType.NVarChar)}
If UI.nUserLb = myGeneral.UserLevel.Administrator Then 'If UI.sUID.ToUpper = SUPPERNAME.ToUpper Then
'获取用户列表,如果用户ID为空,则列出所有用户。
'超级用户,列出所有可操作用户
para(0).Value = ""
Else
'仅列出本部门人员
para(0).Value = VB.Left(UI.sBmdh, 1)
End If
UserListReader = MyDB.RunProcedure(myDML.clsUser.GET_BM_USER_LIST, para)
'顺序读取
Do While UserListReader.Read
'填充树型控件
'只能处理同级别以下的用户(超级用户除外)
If (UserListReader("UserLb") + 0) >= UI.nUserLb Or UI.nUserLb = UserLevel.Administrator Then
'查找部门项
Pnode = Me.FlatTreeView1.Nodes.Find(UserListReader("cbmdh").Trim & "", True)
If Pnode.Length = 0 Then
_node = New TreeNode((UserListReader("cbmmc") & "").Trim & "(" & UserListReader("nn").ToString.Trim & ")")
_node.Name = UserListReader("cbmdh").Trim
_node.ImageIndex = 0
_node.Tag = "0"
Me.FlatTreeView1.TopNode.Nodes.Add(_node)
Else
_node = Pnode(0)
End If
'用户
_node1 = New TreeNode(UserListReader("sUserName") & "")
_node1.Name = UserListReader("UserID") & ""
_node1.Tag = "1"
_node1.ImageIndex = 1
_node1.SelectedImageIndex = _node1.ImageIndex

'添加到列表的部门项中
_node.Nodes.Add(_node1)
End If
Loop

Me.FlatTreeView1.TopNode.EnsureVisible()
Me.FlatTreeView1.TopNode.Expand()
''--------------------------------------------
''超级用户:查找第一个用户名的节点,否则定位自身ID
''--------------------------------------------
'If UI.sUID.ToUpper = SUPPERNAME.ToUpper Then
' Pnode = Me.FlatTreeView1.Nodes.Find(Me.MyToolbar.DR("userID").ToString.Trim, True)
'Else
' Pnode = Me.FlatTreeView1.Nodes.Find(UI.sUserId, True)
'End If
'If Pnode.Length <> 0 Then
' Me.FlatTreeView1.SelectedNode = Pnode(0)
' Me.MyToolbar.RecordPosition = Me.MyToolbar.RecordCount - 1
' NodeUserSeek(Pnode(0))
'End If
Catch ex As Exception
MessageBox.Show(ex.Message, CType(SR.GetString("ERROR_LOC"), String), MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
Me.FlatTreeView1.EndUpdate()
If Not UserListReader Is Nothing Then UserListReader.Close()
UserListReader = Nothing
End Try
End Sub

16,719

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧