📄 frmkdmanage.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace ExamCenter.FormTier
{
public partial class FrmKdManage : System.Windows.Forms.Form
{
private System.Windows.Forms.DataGrid dgUsers;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
//用户数据集
private DataSet dsUser;
private DataTable dtUser;
private enum BtnClick { AddClick, DelClick, EditClick, SaveClick };
private BtnClick btnClick = BtnClick.SaveClick;
private DataRow drCurrent;
public FrmKdManage()
{
InitializeComponent();
MakeBind();
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
private void groupBox2_Enter(object sender, EventArgs e)
{
}
private void FrmKdManage_Load(object sender, EventArgs e)
{
}
private void MakeBind()
{
//方法:private void MakeBind()
//参数:空
//功能:1.返回所有的用户数据集dsUser
// 2.将窗体的dgUsers与返回的数据集dsUser绑定
// 3.给滚动条UserScroller的属性DtSet赋值
//返回:空
//事例化业务逻辑类
UserBLC userBlc = new UserBLC();
//以数据集的形式返回用户表
this.dsUser = userBlc.GetAllUser();
this.dtUser = this.dsUser.Tables[0];
//将窗体数据网格dgUsers与用户表绑定
this.dgUsers.DataSource = this.dtUser;
//给角色表临时添加一编号列
DataColumn dcCurrent = new DataColumn("Current", typeof(int));
this.dtUser.Columns.Add(dcCurrent);
//给角色表编号列赋值
int count = 1;
foreach (DataRow row in this.dtUser.Rows)
{
row["Current"] = count++;
}
//设置窗体数据网格表现风格
DataGridTableStyle dgStyle = new DataGridTableStyle();
dgStyle.MappingName = this.dsUser.Tables[0].TableName;
DataGridColumnStyle intCount =
new DataGridTextBoxColumn();
intCount.MappingName = "Current";
intCount.HeaderText = " 用户编号";
intCount.Width = 75;
dgStyle.GridColumnStyles.Add(intCount);
DataGridColumnStyle ename = new DataGridTextBoxColumn();
ename.MappingName = "userename";
ename.HeaderText = " 用户英文名";
ename.Width = 105;
dgStyle.GridColumnStyles.Add(ename);
DataGridColumnStyle cname = new DataGridTextBoxColumn();
cname.MappingName = "usercname";
cname.HeaderText = " 用户中文名";
cname.Width = 105;
dgStyle.GridColumnStyles.Add(cname);
DataGridColumnStyle password = new DataGridTextBoxColumn();
password.MappingName = "password";
password.HeaderText = " 密码";
password.Width = 163;
dgStyle.GridColumnStyles.Add(password);
this.dgUsers.TableStyles.Add(dgStyle);
this.txtPassword.Enabled = false;
this.txtUserCname.Enabled = false;
this.txtUserEname.Enabled = false;
this.btnAddUser.Enabled = true;
this.btnDelUser.Enabled = true;
this.btnEdit.Enabled = true;
//this.btnAssignRole.Enabled = true;
this.btnSave.Enabled = false;
this.btnClick = BtnClick.SaveClick;
//默认显示第一行
if (this.dtUser.Rows.Count > 0)
{
this.txtPassword.Text = this.dtUser.Rows[0]["password"].ToString();
this.txtUserCname.Text = this.dtUser.Rows[0]["usercname"].ToString();
this.txtUserEname.Text = this.dtUser.Rows[0]["userename"].ToString();
}
this.dgUsers.Enabled = true;
}
private void lblExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnAddKd_Click(object sender, EventArgs e)
{
this.dgUsers.Enabled = false;
//添加用户
this.btnClick = BtnClick.AddClick;
this.btnAddUser.Enabled = false;
this.btnDelUser.Enabled = false;
this.btnEdit.Enabled = false;
//this.btnAssignRole.Enabled = false;
this.btnSave.Enabled = true;
this.drCurrent = this.dtUser.NewRow();
this.drCurrent["password"] = "";
this.drCurrent["usercname"] = "";
this.drCurrent["userename"] = "";
this.dtUser.Rows.Add(this.drCurrent);
this.txtPassword.Text = "";
this.txtUserCname.Text = "";
this.txtUserEname.Text = "";
this.txtPassword.Enabled = true;
this.txtUserCname.Enabled = true;
this.txtUserEname.Enabled = true;
this.dgUsers.Refresh();
}
private void btnEditKd_Click(object sender, EventArgs e)
{
//编辑用户
if (this.dgUsers.VisibleRowCount == 0)
return;
this.dgUsers.Enabled = false;
this.btnClick = BtnClick.EditClick;
this.btnAddUser.Enabled = false;
this.btnDelUser.Enabled = false;
this.btnEdit.Enabled = false;
//this.btnAssignRole.Enabled = false;
this.btnSave.Enabled = true;
BindingManagerBase bm;
bm = this.BindingContext[this.dtUser];
this.drCurrent = this.dtUser.Rows[bm.Position];
this.drCurrent["userename"] = "";
// this.txtPassword.Enabled = true;
this.txtUserCname.Enabled = true;
this.txtUserEname.Enabled = true;
}
private void btnDelKd_Click(object sender, EventArgs e)
{
if (this.dgUsers.VisibleRowCount == 0)
return;
this.dgUsers.Enabled = false;
this.btnClick = BtnClick.DelClick;
this.btnAddUser.Enabled = false;
this.btnDelUser.Enabled = false;
this.btnEdit.Enabled = false;
//this.btnAssignRole.Enabled = false;
this.btnSave.Enabled = true;
BindingManagerBase bm;
bm = this.BindingContext[this.dtUser];
this.drCurrent = this.dtUser.Rows[bm.Position];
}
private void btnSaveKd_Click(object sender, EventArgs e)
{
if (this.btnClick == BtnClick.AddClick)
{
foreach (DataRow dr in this.dtUser.Rows)
{
if (dr["userename"].ToString().Equals(this.txtUserEname.Text))
{
MessageBox.Show("此用户英文名在数据库中已存在,请输入另外一个英文名", "警告");
this.txtUserEname.Text = "";
this.txtUserCname.Text = "";
this.txtPassword.Text = "";
return;
}
}
this.drCurrent["password"] = new UserBLC().EncryptPassword(this.txtPassword.Text);
this.drCurrent["usercname"] = this.txtUserCname.Text;
this.drCurrent["userename"] = this.txtUserEname.Text;
}
if (this.btnClick == BtnClick.EditClick)
{
foreach (DataRow dr in this.dtUser.Rows)
{
if (dr["userename"].ToString().Equals(this.txtUserEname.Text))
{
MessageBox.Show("此用户英文名在数据库中已存在,请输入另外一个英文名", "警告");
this.txtUserEname.Text = "";
return;
}
}
this.drCurrent["usercname"] = this.txtUserCname.Text;
this.drCurrent["userename"] = this.txtUserEname.Text;
}
if (this.btnClick == BtnClick.DelClick)
{
//设置弹出对话框的模式
string message = "你真要删除" + "“ " + this.drCurrent["usercname"].ToString() + " ”" + "这个用户吗? 取消这个操作?";
string caption = "删除警告 ";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result;
//显示对话框
result = MessageBox.Show(this, message, caption, buttons,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1,
MessageBoxOptions.RightAlign);
//确定删除
if (result == DialogResult.Yes)
{
//删除选定用户
this.drCurrent.Delete();
}
}
//更新数据源
UserBLC userBlc = new UserBLC();
userBlc.UpdateUser(this.dsUser);
//清除存在的数据网格风格
DataGridTableStyle existingTableStyle = this.dgUsers.TableStyles[0];
this.dgUsers.TableStyles.Remove(existingTableStyle);
//重新绑定
MakeBind();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -