此主题相关图片如下:qq图片20220612130225.png
此主题相关图片如下:qq图片20220612130259.png
此主题相关图片如下:qq图片20220612132247.png
点选左边的TreeView2二级目录树的姓名,再点选中间的单选控件,另勾选右边的TreeView1多选目录树,按保存按钮,希望软件用户列表姓名等于点选的TreeView2二级目录树姓名且此行未被锁定的授权权限列保存为Tuse,同时勾选授权表姓名等于点选的TreeView2二级目录树姓名及对应列名等于勾选的TreeView1子目录树名称,我这样写不报错,但没显示勾选的勾。选看红色这段代码吧,软件用户列表授权权限列没显示勾。
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.RadioButton
rdo = e.Form.Controls("RadioButton1")
If rdo.Checked = True Then
di("授权权限") = True
Else
di("授权权限") = False
End If
End If
di.Save()
For Each nd1 As WinForm.TreeNode In e.Form.Controls("TreeView1").AllNodes
If nd1.Name = "版块管理" OrElse nd1.Name = "权限分配" Then
Continue For
Dim das As List(Of DataRow) = DataTables("授权表").SQLSelect("[用户姓名] = '" & nd2.Name & "' And [版块管理] = '" & nd1.Name & "' And [权限分配] = '" & nd1.Name & "' And ([锁定] Is Null Or [锁定] = false)")
For Each da As DataRow In das
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
ElseIf nd1.Name = c1.Name And nd1.Checked = True Then
da(c1) = True
ElseIf nd1.Name = c1.Name And nd1.Checked = False Then
da(c1) = False
End If
Next
Next
DataTables("授权表").SQLUpdate(das)
DataTables("授权表").load
End If
Next
End If
[此贴子已经被作者于2022/6/12 21:04:12编辑过]