码迷,mamicode.com
首页 > Windows程序 > 详细

Windows Form -----内容(10)

时间:2015-05-26 20:36:46      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

权限管理:
一、设置权限:
(一)设计界面:
(二)代码:
1.窗体加载时候:把人员加载上,把功能加载上。  **
2.根据人员查看它相应的功能。**
3.设置人员的功能。
二、根据权限加载界面:

技术分享

namespace WindowsFormsApplication17
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Filluser()
        {
            List<UserPermisstionData> list = new UserPermisstionDA().Select();
            cmb.DataSource = list;
            cmb.DisplayMember = "Name";
            cmb.ValueMember = "UserName";
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            Filluser();
            //加载权限
      //      FillModule();
        }

        private void btn_Click(object sender, EventArgs e)
        {
            //把人员代号取出来
            string username = (cmb.SelectedItem as UserPermisstionData).UserName;
            //把此人现有的功能全给删除
            UPtoModuleDA.DeleteByUsname(username);
            //遍历功能看看是否被选中
            foreach (Control item in flowPane.Controls)
            {
                if (item is CheckBox)
                {
                    CheckBox cb = item as CheckBox;
                    if (cb.Checked == true)
                    {
                        string ModuleCode = cb.Tag.ToString();
                        //把人员代号和功能代号插入数据库中
                        UPtoModuleData data = new UPtoModuleData();
                        data.Usname = username;
                        data.ModuleCode = ModuleCode;
                        new UPtoModuleDA().Insert(data);
                    }
                }
            }
            MessageBox.Show("添加成功");
        }
        //加载权限
        private void FillModule()
        {

            //把人员代号取出来
            string name = (cmb.SelectedItem as UserPermisstionData).UserName;
            //根据人员代号查功能
            List<UPtoModuleData> list = new UPtoModuleDA().SelectByUsname(name);
            //把功能显示到界面上
            flowPane.Controls.Clear();
            List<ModuleData> listall = new ModuleDA().Select();//所有的功能
            foreach (ModuleData data in listall)//遍历所有的功能
            {

                CheckBox cb = new CheckBox();
                cb.Text = data.Zhiwei;
                cb.Tag = data.Code;

                foreach (UPtoModuleData item in list)//这个人具有的功能
                {
                    if (data.Code == item.ModuleCode)
                    {
                        cb.Checked = true;
                        break;
                    }
                }
                flowPane.Controls.Add(cb);
            }
        }

        private void cmb_SelectedIndexChanged(object sender, EventArgs e)
        {
            //加载权限
            FillModule();
        }
    }
}

 用的另外的几个表,不赘述了,主代码如上

注意:将List<UPtoModuleData> list = null;

改为:List<UPtoModuleData> list = new List<UPtoModuleData>();

不然容易报 null的 错误。

Windows Form -----内容(10)

标签:

原文地址:http://www.cnblogs.com/likaixuan/p/4531332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!