Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode = tr.SelectedNode
'msgbox(nd.tag)
Dim Filter As String = ""
Dim Value() As String
Value = nd.FullPath.Split("\")
If nd.Text <> "显示所有行" Then
Select Case nd.Level
Case 0
Filter = "[一级] = '" & Value(0) & "'"
Case 1
Filter = "[一级] = '" & Value(0) & "' And [二级] = '" & Value(1) & "'"
Case 2
Filter = "[一级] = '" & Value(0) & "' And [二级] = '" & Value(1) & "' And [三级] = '" & Value(2) & "'"
Case 3
Filter = "[一级] = '" & Value(0) & "' And [二级] = '" & Value(1) & "' And [三级] = '" & Value(2) & "' And [四级] = '" & Value(3) & "'"
End Select
End If
Tables("员工基础表").Filter = Filter
'以下代码,到员工基础表中去筛选,如果部门下面有员工,则不许删除部门
If Tables("员工基础表").Rows.Count > 0
MessageBox.show("本部门内有员工,不能删除,只能更改部门名称,或先将部门内员工全部调出后才能删除!","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning)
e.Cancel = True
Tables("员工基础表").Filter = "" '取消该表筛选恢复原样
MainTable = Tables("部门表")
Else
Dim pth() As String = nd.FullPath.Split("\")
Select Case nd.Level
Case 0
DataTables("部门表").DeleteFor("一级 = '" & pth(0) & "'")
Case 1
DataTables("部门表").DeleteFor("一级 = '" & pth(0) & "' And 二级 = '" & pth(1) & "'")
Case 2
DataTables("部门表").DeleteFor("一级 = '" & pth(0) & "' And 二级 = '" & pth(1) & "' And 三级 = '" & pth(2) & "'")
Case 3
DataTables("部门表").DeleteFor("一级 = '" & pth(0) & "' And 二级 = '" & pth(1) & "' And 三级 = '" & pth(2) & "' and 四级 = '" & pth(3) & "'")
End Select
nd.Delete()
Tables("员工基础表").Filter = "" '取消该表筛选恢复原样
End If
tr.Select()