16,719
社区成员
发帖
与我相关
我的任务
分享
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