以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]可视化授权,对窗口中RecordGrid1绑定表,只能实现“禁止编辑”,而不能实现“对指定列不可见”?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=96105)

--  作者:fengwenliuyan
--  发布时间:2017/2/13 13:18:00
--  [求助]可视化授权,对窗口中RecordGrid1绑定表,只能实现“禁止编辑”,而不能实现“对指定列不可见”?
http://www.foxtable.com/webhelp/scr/1600.htm
[求助]可视化授权,对窗口中RecordGrid1绑定表,只能实现“禁止编辑”,而不能实现“对指定列不可见”?

For Each t As Table In Tables
    t.Visible =
True
    t.AllowEdit =
true
    For Each c As Col In t.Cols
        c.Visible =
True
        c.AllowEdit =
True
    Next

Next
Tables
("授权表").Visible = (User.Type <> UserTypeEnum.User )
If
User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
        If
dr.IsNull("列名")
Then
       
    Tables(dr("表名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).AllowEdit = Not dr("不可编辑")

        Else
           
Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End
If
    Next
End
If


怎样才能做到,可以对具体窗口控件绑定表的制定列进行授权?


--  作者:fengwenliuyan
--  发布时间:2017/2/13 14:57:00
--  [求助]千万别沉啊?!
千万别沉啊?!千万别沉啊?!
--  作者:有点色
--  发布时间:2017/2/13 15:05:00
--  

1、你记录窗口,不要单独设置【显示列】属性;

 

2、记录窗口控件,是默认根据表显示的列显示内容的。

 

3、做实例说明。


--  作者:菲舍尔
--  发布时间:2017/2/13 16:05:00
--  
可以的,用recordgrid的

Columns

返回或设置RecordGrid显示的列。

示例

Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
rgd.
Table = Tables("员工")
rgd
.Columns = "编号|姓名|部门|职务|性别|尊称|出生日期|地址|家庭电话|办公电话"
rgd.Build()

提示:必须先设置绑定表,再设置显示列,顺序不能错。