📄 frmrolemanage.cs
字号:
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.btnSave);
this.Controls.Add(this.btnAddRole);
this.Controls.Add(this.btnDelRole);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FrmRoleManage";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "角色管理";
((System.ComponentModel.ISupportInitialize)(this.dgRoles)).EndInit();
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private void MakeBind()
{
//方法:private void MakeBind()
//参数:空
//功能:1.以数据集的形式返回角色表赋给dsRole
// 2.将窗体数据网格dgRoles与角色表绑定
// 3.给滚动条RoleScroller的属性DtSet赋值
//返回:空
//事例化业务逻辑类
RoleBLC roleBlc = new RoleBLC();
//以数据集的形式返回角色表赋给dsRole
this.dsRole = roleBlc.GetAllRole();
this.dtRole = this.dsRole.Tables[0];
//将窗体数据网格dgRoles与角色表绑定
this.dgRoles.DataSource = this.dtRole;
//给角色表临时添加一编号列
DataColumn dcCurrent = new DataColumn("Current", typeof(int));
this.dtRole.Columns.Add(dcCurrent);
//给角色表编号列赋值
int count = 1;
foreach (DataRow row in this.dtRole.Rows)
{
row["Current"] = count++;
}
//设置窗体数据网格表现风格
DataGridTableStyle dgStyle = new DataGridTableStyle();
dgStyle.MappingName = this.dsRole.Tables[0].TableName;
DataGridColumnStyle intCount =
new DataGridTextBoxColumn();
intCount.MappingName = "Current";
intCount.HeaderText = "编号";
intCount.Width = 100;
dgStyle.GridColumnStyles.Add(intCount);
DataGridColumnStyle rolename = new DataGridTextBoxColumn();
rolename.MappingName = "rolename";
rolename.HeaderText = "角色名";
rolename.Width = 125;
dgStyle.GridColumnStyles.Add(rolename);
DataGridColumnStyle description = new DataGridTextBoxColumn();
description.MappingName = "description";
description.HeaderText = "说明";
description.Width = 240;
dgStyle.GridColumnStyles.Add(description);
this.dgRoles.TableStyles.Add(dgStyle);
this.txtRoleName.Enabled = false;
this.txtRoleDescription.Enabled = false;
this.btnAddRole.Enabled = true;
this.btnDelRole.Enabled = true;
this.btnEdit.Enabled = true;
this.btnSave.Enabled = false;
//this.btnAssignUseCase.Enabled = true;
this.btnClick = BtnClick.SaveClick;
//默认显示第一行
if(this.dtRole.Rows.Count>0)
{
this.txtRoleName.Text = this.dtRole.Rows[0]["rolename"].ToString();
this.txtRoleDescription.Text = this.dtRole.Rows[0]["description"].ToString();
}
this.dgRoles.Enabled = true;
}
private void btnAddRole_Click(object sender, System.EventArgs e)
{
//添加角色
this.dgRoles.Enabled = false;
this.btnClick = BtnClick.AddClick;
this.btnAddRole.Enabled = false;
this.btnDelRole.Enabled = false;
this.btnEdit.Enabled = false;
//this.btnAssignUseCase.Enabled = false;
this.btnSave.Enabled = true;
this.drCurrent = this.dsRole.Tables[0].NewRow();
this.drCurrent["rolename"] = "";
this.drCurrent["description"] = "";
this.dsRole.Tables[0].Rows.Add(this.drCurrent);
this.txtRoleDescription.Text = "";
this.txtRoleName.Text = "";
this.txtRoleDescription.Enabled = true;
this.txtRoleName.Enabled = true;
this.dgRoles.Refresh();
}
private void btnSave_Click(object sender, System.EventArgs e)
{
//方法:private void btnSave_Click(object sender, System.EventArgs e)
//参数:
//功能:更新角色表
//返回:空
if(this.btnClick == BtnClick.AddClick)
{
foreach(DataRow dr in this.dtRole.Rows)
{
if(dr["rolename"].ToString().Equals(this.txtRoleName.Text))
{
MessageBox.Show("此角色名在数据库中已存在,请输入另外一个角色名","警告");
this.txtRoleName.Text = "";
this.txtRoleDescription.Text = "";
return;
}
}
this.drCurrent["rolename"] = this.txtRoleName.Text;
this.drCurrent["description"] = this.txtRoleDescription.Text;
}
if(this.btnClick == BtnClick.EditClick)
{
foreach(DataRow dr in this.dtRole.Rows)
{
if(dr["rolename"].ToString().Equals(this.txtRoleName.Text))
{
MessageBox.Show("此角色名在数据库中已存在,请输入另外一个角色名","警告");
this.txtRoleName.Text = "";
return;
}
}
this.drCurrent["rolename"] = this.txtRoleName.Text;
this.drCurrent["description"] = this.txtRoleDescription.Text;
}
if(this.btnClick == BtnClick.DelClick)
{
//设置弹出对话框的模式
string message = "你真要删除" +"“ "+ this.drCurrent["rolename"].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();
}
}
//事例化业务逻辑类
RoleBLC roleBlc = new RoleBLC();
//更新数据源
roleBlc.UpdateRole(dsRole);
//清除数据网格已有风格
DataGridTableStyle existingTableStyle = this.dgRoles.TableStyles[0];
this.dgRoles.TableStyles.Remove(existingTableStyle);
//重新绑定
MakeBind();
}
private void btnAssignUseCase_Click(object sender, System.EventArgs e)
{
//给选定角色分配功能
BindingManagerBase bm;
bm = this.BindingContext[this.dtRole];
DataRow dr = this.dtRole.Rows[bm.Position];
int intRoleId = Convert.ToInt32(dr["roleID"]);
//new ExamCenter.FormTier.FrmAssignUseCase(intRoleId).Show();
}
private void btnDelRole_Click(object sender, System.EventArgs e)
{
//删除选定角色
if(this.dgRoles.VisibleRowCount ==0)
return;
this.dgRoles.Enabled = false;
this.btnClick = BtnClick.DelClick;
this.btnAddRole.Enabled = false;
this.btnDelRole.Enabled = false;
this.btnEdit.Enabled = false;
//this.btnAssignUseCase.Enabled = false;
this.btnSave.Enabled = true;
BindingManagerBase bm;
bm = this.BindingContext[this.dtRole];
this.drCurrent = this.dtRole.Rows[bm.Position];
}
private void lblExit_Click(object sender, System.EventArgs e)
{
this.Close();
}
private void btnEdit_Click(object sender, System.EventArgs e)
{
//编辑角色字段
if(this.dgRoles.VisibleRowCount ==0)
return;
this.dgRoles.Enabled = false;
this.btnClick = BtnClick.EditClick;
this.btnAddRole.Enabled = false;
this.btnDelRole.Enabled = false;
this.btnEdit.Enabled = false;
//this.btnAssignUseCase.Enabled = false;
this.btnSave.Enabled = true;
BindingManagerBase bm;
bm = this.BindingContext[this.dtRole];
this.drCurrent = this.dtRole.Rows[bm.Position];
this.drCurrent["rolename"] = "";
this.txtRoleName.Enabled = true;
this.txtRoleDescription.Enabled = true;
}
private void dgRoles_CurrentCellChanged(object sender, System.EventArgs e)
{
DataGridCell myCell;
myCell = this.dgRoles.CurrentCell;
DataTable myTable;
myTable = (DataTable) this.dgRoles.DataSource;
this.txtRoleDescription.Text = myTable.Rows[myCell.RowNumber]["description"].ToString();
this.txtRoleName.Text = myTable.Rows[myCell.RowNumber]["rolename"].ToString();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -