以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]这个可视化授权能不能把菜单菜权设置这个去了  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=101499)

--  作者:静听枫雨
--  发布时间:2017/6/1 16:22:00
--  [讨论]这个可视化授权能不能把菜单菜权设置这个去了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:可视化授权.foxdb


不知道是哪位老师写的可视化授权。我们只想要表和列的授权。怎么把 菜单权限设置去掉呢,望高手解决。授权窗口 右边的目录权不要,表里的菜单权限设置不要。要改代码,改了好几天没搞成功!

--  作者:有点色
--  发布时间:2017/6/1 16:43:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:可视化授权.foxdb


--  作者:manyifuwu
--  发布时间:2018/10/23 18:24:00
--  

.NET Framework 版本:2.0.50727.8936
Foxtable 版本:2018.10.9.1
错误所在事件:
详细错误信息:
\',\' 附近有语法错误。

照抄的,那错了呢。单击节点后出现。


图片点击可在新窗口打开查看此主题相关图片如下:捕获2.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/10/23 18:30:59编辑过]

--  作者:有点甜
--  发布时间:2018/10/23 18:27:00
--  
实例发上来测试
--  作者:manyifuwu
--  发布时间:2018/10/23 18:32:00
--  

If e.node.Level = 0 Then
    e.node.Expand
ElseIf e.node.Level =1 Then
    Dim bmm As String = e.node.Name.Split("+")(0)
    DataTables("授权表").LoadFilter = "用户组=\'" & e.node.ParentNode.Name & "\' and bm =\'" & bmm & "\'"
    DataTables("授权表").Load()
    Dim zd As new  Dictionary(of String,String)
    zd.Clear
    Dim ms As Integer = 0
    For Each dr As DataRow In DataTables("授权表").dataRows
        If zd.ContainsKey(dr("lm"))=False Then
            zd.Add(dr("lm"),"1")
        End If
        If dr.IsNull("lm")=True Then
            ms +=1
        End If
    Next
    If ms=0 Then
        Dim rw As DataRow =  DataTables("授权表").AddNew
        rw("用户组") = e.node.ParentNode.Name
        rw("bm") = bmm
        rw.Save
    End If
    Dim ss As new List(of String)
    For Each cl As Col In Tables(bmm).Cols
        If zd.ContainsKey(cl.Name)=False Then
            If Connections.Count=0 Then
                Dim rw As DataRow =  DataTables("授权表").AddNew
                rw("用户组") = e.node.ParentNode.Name
                rw("bm") = bmm
                rw("lm") = cl.Name
            Else
                ss.Add("(\'" & e.node.ParentNode.Name & "\',\'" & bmm & "\',\'" & cl.name & "\',0,0)")
                zd.Add(cl.Name,"1")
            End If
        End If
    Next
    Dim Arys() As String
    Arys=ss.ToArray()
    Dim ssj As String = String.Join(",",Arys)
    If ssj > "" Then
        Dim cmd As new SQLCommand
        cmd.C
        cmd.CommandText = "Insert Into 授权表 (用户组,bm,lm,不可见,不可编辑) Values" & ssj
        cmd.ExecuteScalar
        output.show(ssj)
        DataTables("授权表").LoadFilter = "用户组=\'" & e.node.ParentNode.Name & "\' and bm =\'" & bmm & "\'"
        DataTables("授权表").Load()
       
    End If
   
   
    DataTables("授权表").save()
    For Each cl As Col In Tables(bmm).Cols
        Dim lmm As String = IIF(cl.Caption > "" ,cl.Caption,cl.Name)
        Dim bm2 As String = IIF(DataTables(bmm).Caption > "" ,DataTables(bmm).Caption,bmm)
        DataTables("授权表").ReplaceFor("列名",lmm,"lm=\'" & cl.Name & "\'")
        DataTables("授权表").ReplaceFor("表名",bm2,"bm=\'" & bmm & "\'")
       
    Next
    DataTables("授权表").AcceptChanges()
End If

 

 

单击节点后出现。


--  作者:manyifuwu
--  发布时间:2018/10/23 18:34:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:捕2获.png
图片点击可在新窗口打开查看
列名不能显示
--  作者:有点蓝
--  发布时间:2018/10/23 20:12:00
--  
代码测试没有问题。请上传有问题的实例说明
--  作者:manyifuwu
--  发布时间:2018/10/23 20:42:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6.foxdb

[此贴子已经被作者于2018/10/23 20:42:07编辑过]

--  作者:manyifuwu
--  发布时间:2018/10/23 20:43:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:db.rar


--  作者:manyifuwu
--  发布时间:2018/10/23 20:43:00
--  

实际使用时,是用sql数据表。