Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
各位老师:
可视化授权中有不可见权限的控制,但对于列,用户可以取消隐藏即可破解此不可见,请问如何批量做真的不可见呢?
我查了咱论坛,狐爸说过用Cols
方法名 | 说明 |
Remove | 从Table中移除指定的列 |
Contains | 用于判断是否包括指定名称的Col |
来解决,这样需要都写出列的列名来,请问老师,能不能指点一些思路,对于表中用户很多、列很多的情况下,能够用最短的代码来完成这种 工作呢?如果能帮写段代码那就更好了,呵呵,万分感谢!
还有狐爸说过有好多方法,能不能给菜鸟多指点一些?
还有用禁菜单的方法,但用户有时为了方便查看不同的列,还有用户真用到隐藏和取消隐藏功能。
能不能有比较完美的方法呢?
另外狐爸下一版开发版能不能默认禁用 禁用开发和禁止设置数据源?菜鸟一不小心忘了关闭这两个功能,一是用户查看到了数据库连接密码,二是用户居然通过调取外部表来改动数据...有够BT...汗...
另外能不能通过程序的版本号来回收旧程序,指定哪版在有新版发布后禁止旧版程序连接数据呢?
通过慢慢的学习狐表越发感觉狐表越来越强大,能实现的东东太多了,呵呵...前几天微软公司来电话,问我们用什么MS的OFFICE产品,我说用的是fOXTABLE,解决了MS的共享问题,我还告诉他们咱们论坛地址呢。呵呵,微软说,那真要去看看喽,微软会虚心学习好的软件的,呵呵...
1、一样可以用隐藏列的办法,至于代码用
''''前面的代码
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
If Tables(dr("表名")).Cols.Contains(dr("列名"))= True Then
Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
Tables(dr("表名")).Cols.Remove((dr("列名"))
End If
End
If
Next
End
If
2、关于数据源,发布的程序默认就是修改不了的。
3、版本的问题是没有办法的,毕竟新版旧版都有人用的。
3.可以把最新版本存到数据库里面。程序连接数据库时对比一下版本。
QQ有时候就是强制更新的。
呵呵,好办法
感谢楼上两位老师,看懂了狐爸给提供的方法了,加了行
Tables(dr("表名")).Cols.Remove((dr("列名"))
我测试一下...
3楼LXL老师说的把新版本存到数据库里面,是发布过的程序?还是程序版本号呢?能不能帮忙举个小例呢?谢谢老师了...
哦,原来是这样啊,等明天到单位试下...
也就是以后发布的都写上AfterOpenProject事件中检查数据库中的版本号?
哦 ,看到了,呵呵Remove((dr("列名"))
一直在找右括号,没发现原来是左括号-_-||| 我需要提高认真度了...再次谢谢狐爸
((