我写了一个Winform程序,有一个专门的窗体用于权限分配,大约有20个权限分配选项,要把这20个权限一一对应主窗体中的20个按钮,我想把这20个权限值写入sql server数据库中,当程序运行时就根据不同的权限激活不同的按钮,这样的想法怎么实现?总不能在窗体的load函数中写20个 if ...else...逐个判断吧?请教高手应该怎么做?或者有更好的思想。

解决方案 »

  1.   

    可以在表中建20列,类型为bit的
    如果有权限就为1,没有就为0
    如果在加载的时候读取数据到DataSet里面
    button.DataBindings.Add("Enable","ds","表.列");
      

  2.   

    角色不同的权限不同。
    建一个角色表 t_role
    每个角色ID,对应相应的权限。
    在窗体加载时,判断该角色有哪些权限,然后激活相应的按钮就OK了。
      

  3.   

    判断有哪些权限的时候是用if...else...逐个判断吗?还是有别的好方法?
      

  4.   

    你把数据中配置的权限参数和画面上button的Name名称一致.
    functionID functionName Description
    001          btnAdd      用户添加循环画面的所有button控件和数据库,
    找到的就设权限,否则就button.enable=false
      

  5.   


    刚学就先让代码运行起来吧。。先别考虑那么多。。用最笨的方法不一定是最坏的方法你是说有权限时就把对应的按钮显示吧,,Visible为true。。这样的做法我一般建立三个表
    一个用户表:用户信息,有用户的权限
    一个权限表:用户权限,权限对应的功能
    一个功能模块表:存放所有的功能呢个模块