标签:
权限管理:
一、设置权限:
(一)设计界面:
(二)代码:
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的 错误。
标签:
原文地址:http://www.cnblogs.com/likaixuan/p/4531332.html