標籤:
許可權管理:
一、設定許可權:
(一)設計介面:
(二)代碼:
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)