28.10.7 系统管理设置
一个系统操作员的权限对任何管理软件都是非常重要的,如果每一个操作员都拥有整个管理系统的所有权限,可以对系统重要数据任意查看和修改,将会给企业带来极大的危害。所以本系统设计了系统管理设置功能,针对本系统操作用户不同的身份和职位,设置不同的权限,这样一来达到了重要数据和机密资料非授权不可使用的目的。
1.窗体设计
新建一个Windows窗体,用于添加、修改和删除系统操作员以及权限设置。在窗体上放置ToolStrip、DataGridView控件。并在ToolStrip控件上添加相关控件如图28.18所示。
2.代码设计
创建全局BaseInfo类对象和cPopedom类对象,用于调用业务层中功能方法及权限数据结构,因为类BaseInfo和cPopedom存放在BaseClass目录中,所以在创建类对象时先指明目录名称。完整代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace EMS.SetSystem { public partial class frmSetOP : Form { BaseClass.BaseInfo baseinfo = new EMS.BaseClass.BaseInfo(); BaseClass.cPopedom popedom = new EMS.BaseClass.cPopedom(); int ID = 0; public frmSetOP() { InitializeComponent(); } ……编写其他方法和事件代码 } } |
自定义方法SetHeadText用来设置DataGridView控件列标题及列宽度。完整代码如下:
public void SetHeadText() { dgvSysUserList.Columns[0].HeaderText = "ID"; dgvSysUserList.Columns[0].Width = 40; dgvSysUserList.Columns[1].HeaderText = "用户名称"; dgvSysUserList.Columns[2].HeaderText = "用户密码"; dgvSysUserList.Columns[3].HeaderText = "进货管理"; dgvSysUserList.Columns[3].Width = 80; dgvSysUserList.Columns[4].HeaderText = "销售管理"; dgvSysUserList.Columns[4].Width = 80; dgvSysUserList.Columns[5].HeaderText = "库存管理"; dgvSysUserList.Columns[5].Width = 80; dgvSysUserList.Columns[6].HeaderText = "系统管理"; dgvSysUserList.Columns[6].Width = 80; dgvSysUserList.Columns[7].HeaderText = "基础信息管理"; } |
单击【退出】按钮,退出当前窗体。代码如下:
private void tlbtnExit_Click(object sender, EventArgs e) { this.Close(); } |
单击【添加】按钮,添加系统操作员,新添加系统操作员不具备任何权限。完整代码如下:
private void tlbtnAdd_Click(object sender, EventArgs e) { if (tltxtUserName.Text = = string.Empty) { MessageBox.Show("用户名称不能为空!","错误提示",MessageBoxButtons. OK,MessageBoxIcon.Error); return; } if(baseinfo.FindUserName(tltxtUserName.Text)) { MessageBox.Show("用户名称已经存在,不添加重复的用户名!","错误提示",MessageBox- Buttons.OK,MessageBoxIcon.Error); return; } baseinfo.AddSysUser(tltxtUserName.Text,tltxtPwd.Text); MessageBox.Show("系统新用户--添加成功!","成功提示",MessageBoxButtons. OK,MessageBoxIcon.Information); dgvSysUserList.DataSource = baseinfo.GetAllUser().Tables[0].DefaultView; this.SetHeadText(); } |
单击【删除】按钮,删除在DataGridView控件中选中的数据。完整代码如下:
private void tlbtnDel_Click(object sender, EventArgs e) { if (ID = = 0) { MessageBox.Show("请选择将要删除的系统用户!", "错误提示", MessageBoxButtons.OK, Message- BoxIcon.Error); return; } baseinfo.DeleteSysUser(ID); MessageBox.Show("系统用户--删除成功!", "成功提示", MessageBoxButtons.OK, MessageBoxIcon.Information); dgvSysUserList.DataSource = baseinfo.GetAllUser().Tables[0].DefaultView; this.SetHeadText(); } |
在窗体的Load事件中主要显示系统所有操作员的用户名、密码及所对应的权限。完整代码如下:
private void frmSetOP_Load(object sender, EventArgs e) { dgvSysUserList.DataSource = baseinfo.GetAllUser().Tables[0].DefaultView; this.SetHeadText(); } |
单击【修改】按钮,修改DataGridView控件中选中的记录,并通过该功能为操作员设置权限。完整代码如下:
{ if (ID = = 0) { MessageBox.Show("请选择将要修改的系统用户!", "错误提示", MessageBoxButtons.OK, Message- BoxIcon.Error); return; } popedom.SysUser = tltxtUserName.Text; popedom.Password = tltxtPwd.Text; baseinfo.UpdateSysUser(popedom); dgvSysUserList.DataSource = baseinfo.GetAllUser().Tables[0].DefaultView; this.SetHeadText(); } |
当DataGridView控件单元格获得焦点时,获得用户操作的权限,为修改操作员权限做准备。完整代码如下:
private void dgvSysUserList_CellEndEdit(object sender, DataGridViewCellEventArgs e) { try { popedom.Stock = Convert.ToBoolean(dgvSysUserList [3, e.RowIndex].Value.ToString()); popedom.Vendition = Convert.ToBoolean(dgvSysUserList [4, e.RowIndex].Value.ToString()); popedom.Storage = Convert.ToBoolean(dgvSysUserList [5, e.RowIndex].Value.ToString()); popedom.SystemSet = Convert.ToBoolean(dgvSysUserList [6, e.RowIndex].Value.ToString()); popedom.Base_Info = Convert.ToBoolean(dgvSysUserList [7, e.RowIndex].Value.ToString()); } catch { } } |
单击DataGridView控件单元行,获得操作员编号,并将用户名称和密码显示在指定的文本框中,以上数据主要为修改操作员信息做准备。完整代码如下:
private void dgvSysUserList_CellClick(object sender, DataGridViewCellEventArgs e) { try { ID = Convert.ToInt16(dgvSysUserList [0, e.RowIndex].Value.ToString()); tltxtUserName.Text = dgvSysUserList [1, e.RowIndex].Value.ToString(); tltxtPwd.Text = dgvSysUserList [2, e.RowIndex].Value.ToString(); popedom.ID = ID; } catch { } } |
【责任编辑:
夏书 TEL:(010)68476606】