以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]记录窗口能否像表一样隐藏部分重要数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25045)

--  作者:sunbrain
--  发布时间:2012/10/30 9:07:00
--  [求助]记录窗口能否像表一样隐藏部分重要数据

如帮助所言

 

假定表中某列的数据非常重要,只能张经理和王总监二人才能查阅,希望其他人打开此表后,此列内容全部用一串星号(*)代替。
要实现此目的,可以将此表的DrawCell( [标题编号])事件代码设置为:

If e.Col.Name = "进价" Then \'请改为实际列名
    If User.name <> "张经理" AndAlso UserName <> "王总监" Then \'如果不是指定用户
        e.Text = "****" \'
则修改显示内容
   
End If
End
If

 

我在左侧设计了一个记录窗口,记录窗口中,有“进价”这么一列,在表中可以实现,如何在记录窗口中也将这一列根据权限进行隐藏显示

 

谢谢


--  作者:lin_hailun
--  发布时间:2012/10/30 9:11:00
--  
 如果对应表的列隐藏或者移除了,记录窗口应该是不会显示对应的列的。
--  作者:sunbrain
--  发布时间:2012/10/30 9:13:00
--  

1.在窗口表中设置权限,如果移除了,那么没有权限的人查看这个窗口的时候会报错;

2.我现在直接在表中设置,可以按照权限进行数据的隐藏,但是在记录窗口中无效


--  作者:sunbrain
--  发布时间:2012/10/30 9:16:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:99.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:100.jpg
图片点击可在新窗口打开查看

--  作者:lin_hailun
--  发布时间:2012/10/30 9:19:00
--  
 这个可能是顺序先后的问题。

 你隐藏列以后,要重新打开记录窗口,才会更新的。

--  作者:lin_hailun
--  发布时间:2012/10/30 9:21:00
--  
 CurrentTable.OpenRecordGrid()

 CurrentTable.CloseRecordGrid()

--  作者:sunbrain
--  发布时间:2012/10/30 9:30:00
--  

您可能把我的意思理解错了

我是用代码把一列重要数据用***代替了,

只有有权限的人才可以看到真实的数据。

 

我这个记录窗口是用RecordGrid1这个控件的,而不是在表中操作的;

这个控件绑定了表中的几列数据

 

我现在需要这个记录控件能像窗口中表显示的数据一样,遇到没有权限的人登陆,那么进货价的数据显示为***

 

而您指导的是在表格中的做法


--  作者:lin_hailun
--  发布时间:2012/10/30 9:34:00
--  
 这个功能不能这样做,记录窗口显示的都是实际的值,而表格里面的,只是简单的隐藏而已。

 你正确的做法是,新增一个列,这个列保存真实的数据,这个列隐藏起来。

 然后判断权限,在单价列显示你希望显示的内容便可。
[此贴子已经被作者于2012-10-30 9:34:12编辑过]

--  作者:sunbrain
--  发布时间:2012/10/30 9:42:00
--  

这个方法不行,我希望做的是用权限在记录窗口中隐藏重要数据。

如果用您这样的方法,我完全可以在记录窗口的显示列中不用设置这个列,一样可以实现的


--  作者:lin_hailun
--  发布时间:2012/10/30 9:50:00
--  
 记录窗口的值与表一致,这个是不会变的。因为涉及到修改数据的时候,表需要同步。