改为这样授权表完全没反应:
Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim nd2 As WinForm.TreeNode = trv2.SelectedNode
If nd2.Level = 2 Then
Dim di As DataRow = DataTables("软件用户列表").SQLFind("[姓名] = '" & nd2.Name & "' And ([锁定] Is Null or [锁定] = false)")
If di IsNot Nothing Then
Dim rdo As WinForm.CheckBox
rdo = e.Form.Controls("CheckBox1")
If rdo.Checked = True Then
di("授权权限") = True
Else
di("授权权限") = False
End If
End If
di.Save()
DataTables("软件用户列表").load
For Each nd1 As WinForm.TreeNode In e.Form.Controls("TreeView1").AllNodes
If nd1.Level = 2 Then
Dim Value() As String
Value = nd1.FullPath.Split("\")
For Each c1 As DataCol In DataTables("授权表").DataCols
If c1.Name = "所属部门" OrElse c1.Name = "职位" OrElse c1.Name = "用户姓名" OrElse c1.Name = "版块管理" OrElse c1.Name = "表名" OrElse c1.Name = "权限分配" OrElse c1.Name = "锁定" Then
Continue For
Dim das As List(Of DataRow) = DataTables("授权表").SQLSelect("[用户姓名] = '" & nd2.Name & "' And [版块管理] = '" & Value(0) & "' And [权限分配] = '" & Value(1) & "' And nd1.Name = c1.Name And nd1.Checked = True And ([锁定] Is Null Or [锁定] = false)")
For Each da As DataRow In das
If da IsNot Nothing Then
da(c1) = True
Else
da(c1) = False
End If
Next
DataTables("授权表").SQLUpdate(das)
DataTables("授权表").load
End If
Next
End If
Next
End If