以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 两表集合数据同步问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89779) |
||||
-- 作者:188802386 -- 发布时间:2016/8/29 20:43:00 -- [求助] 两表集合数据同步问题 请问如何实现点击上面的员工,出现下面界面,或者是哪点有视频或教程也可以 [此贴子已经被作者于2016/8/30 11:40:07编辑过]
|
||||
-- 作者:Hyphen -- 发布时间:2016/8/30 9:11:00 -- \'角色表click事件 If e.Row.IsNull("加载范围集合") = False Then Dim s1arr() As String = e.Row("加载范围集合").Split(",") For Each s1 As String In s1arr Dim s2arr() As String = s1.Split("|") If s2arr.Length = 2 Then Dim dr As DataRow = DataTables("表A").Find("权限=\'" & s2arr(0) & "\'") If dr IsNot Nothing Then dr("授权") = True dr("加载范围") = s2arr(1) End If End If Next End If |
||||
-- 作者:188802386 -- 发布时间:2016/8/30 11:11:00 -- 老师好,现在能实现将角色表的数据加载到授权表中,但发现了一个问题,就是原来加载的不消失,请问如何先清除授权表‘授权’和‘加载范围’列后再加载呢,最后还有个问题就是我在授权表中修改了权限,如何重新保存到相应角色的集合中呢 \'角色表click事件 \'将加载范围集合到授权中 If e.Row.IsNull("加载范围集合") = False Then Dim s1arr() As String = e.Row("加载范围集合").Split(",") For Each s1 As String In s1arr Dim s2arr() As String = s1.Split("|") If s2arr.Length = 2 Then Dim dr As DataRow = DataTables("授权").Find("权限 =\'" & s2arr(0) & "\'") If dr IsNot Nothing Then dr("加载范围") = s2arr(1) End If End If Next End If \'将授权集合加载到授权中 If e.Row.IsNull("授权集合") = False Then Dim s3arr() As String = e.Row("授权集合").Split(",") For Each s3 As String In s3arr Dim dr As DataRow = DataTables("授权").Find("权限 like\'" & s3 & "\'") If dr IsNot Nothing Then dr("授权") = True End If Next End If |
||||
-- 作者:188802386 -- 发布时间:2016/8/30 11:37:00 -- 为了达到保存的效果,我在角色管理增加了授权列 点击授权及弹出角色授权窗口,同样有保存和取消按钮,但是现在问题来了,如何在修改了角色授权表信息后同步更新到角色管理里面,请老师给予帮助。
|
||||
-- 作者:Hyphen -- 发布时间:2016/8/30 11:56:00 -- 保存按钮 Dim dr As Row = Tables("角色管理").Current If dr Is Nothing Then Return Dim drs As List(Of DataRow) = DataTables("授权").Select("权限 is not null and 加载范围 is not null") If drs.Count > 0 Then Dim sqjh As String Dim fwjh As String For Each r As DataRow In drs sqjh &= "," & r("权限") fwjh &= "," & r("权限") & "|" & r("加载范围") Next dr("授权集合") = sqjh.TrimStart(",") dr("加载范围集合") = fwjh.TrimStart(",") Tables("角色管理").Current.Save() \'保存当前行 End If e.Form.Close() |
||||
-- 作者:Hyphen -- 发布时间:2016/8/30 11:59:00 -- 清空列参考:http://www.foxtable.com/webhelp/scr/1532.htm e.Table.DataTable.ReplaceFor("加载范围",Nothing)
|
||||
-- 作者:188802386 -- 发布时间:2016/8/30 13:02:00 -- 请问权限列是逻辑列,如何让drs1 = “权限”为 true 呢 Dim dr As Row = Tables("角色管理").Current If dr Is Nothing Then Return Dim drs As List(Of DataRow) = DataTables("授权").Select("权限 is not null and 加载范围 is not null") If drs.Count > 0 Then Dim sqjh As String Dim fwjh As String For Each r As DataRow In drs sqjh &= "," & r("权限") fwjh &= "," & r("权限") & "|" & r("加载范围") Next dr("加载范围集合") = fwjh.TrimStart(",") Dim drs1 As List(Of DataRow) = DataTables("授权").Select("权限 = ""true""") If drs1.Count > 0 Then Dim sqjh1 As String For Each r As DataRow In drs1 sqjh1 &= "," & r("权限") Next dr("授权集合") = sqjh1.TrimStart(",") Tables("角色管理").Current.Save() \'保存当前行 End If End If e.Form.Close() [此贴子已经被作者于2016/8/30 13:56:50编辑过]
|
||||
-- 作者:Hyphen -- 发布时间:2016/8/30 14:40:00 -- Dim drs1 As List(Of DataRow) = DataTables("授权").Select("权限 = true") |