2010-04-07 36 views
1

我正在使用Windows窗体(C#)visual studio和.net 3.5,
我的程序是基于数据库的,具有多用户,
数据库有关设备和合同存储库信息,

什么,我需要的是限制(修改,只读,隐藏)特定字段的方式
接受性的登录用户的权限,
我不希望使用Windows用户,我希望我的用户(从数据库)使他们与操作系统分开, 至少现在,
因此,例如我有一个表单有21个字段,
当没有财务特权的员工已登录时,他们中的五个必须隐藏,
但是当他的主管是用户时,他可以看到财务字段但未修改其值,
以及何时管理员登录,在他可以做他想做的C#Windows窗体:根据登录用户严格一些字段

我希望我做得很清楚,帮我出了什么每隔,

回答

0

如果你读过从数据库中的用户和他们的特权,它是只需设置您不想显示的任何控件的Visible属性即可。

this.FinanceField1.Visible = !IsEmployee(); 
this.FinanceField2.Visible = !IsEmployee(); 

this.FinanceField3.Enabled = !IsSupervisor(); 

或者类似的措施。

+0

或者'启用',如果你想让它可见但不可编辑 – dsolimano 2010-04-07 14:18:29

+0

是的,我只是做了相应的编辑。 – 2010-04-07 14:20:02

+0

正如我在Drakinfar评论,我想要一个更持久的解决方案,但无论如何感谢您 – Mysterious 2010-04-08 07:00:20

0

在数据库中实现您在使用登录时读取的权限表。然后根据传递的权限设置表单状态。

+0

首先感谢您的回复, 我有这样的想法,但我需要一个更好的解决方案,独立于形式或视觉..换句话说,我一直在报告和查询同一个字段(SalesPrice出现在设备表单上,报表上和财务表单上),我正在寻找类似ErrorProvider的东西,我做了一次限制,它会是只要我访问该字段就适用 – Mysterious 2010-04-08 06:59:03