📄 medicalinfoform.cs
字号:
this.Name = "MedicalInfoForm";
this.Text = "医疗保险记录";
this.Load += new System.EventHandler(this.MedicalInfoForm_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private void MedicalInfoForm_Load(object sender, System.EventArgs e)
{
DBDataGrid();
switch(Form1.f1.power)
{
case "系统管理员":
{
this.toolBarButton5.Enabled = true;
this.toolBarButton6.Enabled = true;
this.toolBarButton7.Enabled = true;
break;
}
case "管理员":
{
this.toolBarButton5.Enabled = true;
this.toolBarButton6.Enabled = true;
this.toolBarButton7.Enabled = true;
break;
}
case "一般用户":
{
this.toolBarButton5.Enabled = false;
this.toolBarButton6.Enabled = false;
this.toolBarButton7.Enabled = false;
break;
}
default :
{
this.toolBarButton5.Enabled = false;
this.toolBarButton6.Enabled = false;
this.toolBarButton7.Enabled = false;
break;
}
}
}
#region DataGrid数据绑定
public void DBDataGrid()
{
string s = "select MedicalInfo.mmmId,MedicalInfo.meId as 员工编号,EmployInfo.eName as 员工姓名,MedicalInfo.mId as 医疗保险号,MedicalInfo.enDate as 发放时间,";
s += "MedicalInfo.enMonney as 养老保险金 from MedicalInfo,EmployInfo where MedicalInfo.meId=EmployInfo.meId order by MedicalInfo.meId asc";
Base bb= new Base();
this.dt = bb.ExeSQLdt(s);
this.dataGrid1.DataSource = this.dt.DefaultView;
this.cm = (CurrencyManager)BindingContext[this.dt];
File.DataGridStyle(this.dt,this.dataGrid1);
}
#endregion
#region 工具栏事件
private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
switch(e.Button.ToolTipText)
{
case "首记录":
{
if(cm.Position != 0)
{
this.dataGrid1.UnSelect(cm.Position);
cm.Position = 0;
this.dataGrid1.Select(cm.Position);
this.dataGrid1.CurrentRowIndex = cm.Position;
}
break;
}
case "上记录":
{
if(cm.Position > 0)
{
this.dataGrid1.UnSelect(cm.Position );
cm.Position -= 1;
this.dataGrid1.Select(cm.Position);
this.dataGrid1.CurrentRowIndex = cm.Position;
}
break;
}
case "下记录":
{
if(cm.Position < cm.Count - 1)
{
this.dataGrid1.UnSelect(cm.Position );
cm.Position += 1;
this.dataGrid1.Select(cm.Position);
this.dataGrid1.CurrentRowIndex = cm.Position;
}
break;
}
case "尾记录":
{
if(cm.Position != cm.Count - 1)
{
this.dataGrid1.UnSelect(cm.Position);
cm.Position = cm.Count - 1;
this.dataGrid1.Select(cm.Count - 1);
this.dataGrid1.CurrentRowIndex = cm.Position;
}
break;
}
case "添加":
{
this.insert(sender,e);
break;
}
case "修改":
{
this.updata(sender,e);
break;
}
case "删除":
{
this.delete(sender,e);
break;
}
case "退出":
{
this.close(sender,e);
break;
}
case "查找":
{
this.search(sender,e);
break;
}
case "打印":
{
break;
}
}
}
#endregion
#region 工具栏具体的方法事件
private void insert(object sender, System.EventArgs e)
{
MedicalInfoForm.meID = "insert";
this.Enabled = false;
if(mainForm.mf.CheckForm("MedicalRecord") == true)
{
return ;
}
else
{
MedicalRecord mer = new MedicalRecord();
mer.MdiParent = mainForm.mf;
mer.Show();
}
}
private void updata(object sender, System.EventArgs e)
{
MedicalInfoForm.meID = "update";
this.Enabled = false;
this.sb.Remove(0,this.sb.ToString().Length);
for(int i = 0 ; i < this.dt.Columns.Count ; i ++)
{
this.sb.Append(this.dataGrid1[this.dataGrid1.CurrentCell.RowNumber,i].ToString() + "#");
}
if(mainForm.mf.CheckForm("MedicalRecord") == true)
{
return ;
}
else
{
MedicalRecord mer = new MedicalRecord();
mer.MdiParent = mainForm.mf;
mer.Show();
}
}
private void delete(object sender, System.EventArgs e)
{
DialogResult result = MessageBox.Show("是否删除此记录?","提示!",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if(result == DialogResult.Yes)
{
string str = "update MedicalInfo set endate=null,enMonney=null where mmmId=" + int.Parse(this.dataGrid1[this.dataGrid1.CurrentCell.RowNumber,0].ToString());
Base bb = new Base();
bb.ExeSQL(str);
this.DBDataGrid();
MessageBox.Show("删除成功!");
}
if(result == DialogResult.No)
{
return;
}
}
private void search(object sender, System.EventArgs e)
{
this.groupBox1.Visible = true;
this.dataGrid1.Dock = DockStyle.None;
this.dataGrid1.Height = 368;
this.dataGrid1.Location = new Point(0,88);
}
private void close(object sender, System.EventArgs e)
{
this.Close();
}
#endregion
#region 右键快捷菜单事件
private void contextMenu1_Popup(object sender, System.EventArgs e)
{
if(this.contextMenu1.SourceControl == this.dataGrid1)
{
this.contextMenu1.MenuItems.Clear();
this.contextMenu1.MenuItems.Add("添加记录",new EventHandler(this.insert));
this.contextMenu1.MenuItems.Add("修改记录",new EventHandler(this.updata));
this.contextMenu1.MenuItems.Add("删除记录",new EventHandler(this.delete));
this.contextMenu1.MenuItems.Add("-");
this.contextMenu1.MenuItems.Add("查找",new EventHandler(this.search));
this.contextMenu1.MenuItems.Add("-");
this.contextMenu1.MenuItems.Add("打印");
this.contextMenu1.MenuItems[6].MenuItems.Add("页面设置",new EventHandler(this.menuItem1_Click));
this.contextMenu1.MenuItems[6].MenuItems.Add("打印预览",new EventHandler(this.menuItem2_Click));
this.contextMenu1.MenuItems[6].MenuItems.Add("打印",new EventHandler(this.menuItem3_Click));
this.contextMenu1.MenuItems.Add("-");
this.contextMenu1.MenuItems.Add("退出",new EventHandler(this.close));
}
}
#endregion
//取消
private void button2_Click(object sender, System.EventArgs e)
{
this.groupBox1.Visible = false;
this.dataGrid1.Dock = DockStyle.Fill;
this.DBDataGrid();
}
#region 查找记录
private void button1_Click(object sender, System.EventArgs e)
{
string s = "select MedicalInfo.mmmId,MedicalInfo.meId as 员工编号,EmployInfo.eName as 员工姓名,MedicalInfo.mId as 医疗保险号,MedicalInfo.enDate as 发放时间,";
s += "MedicalInfo.enMonney as 医疗保险金 from MedicalInfo,EmployInfo where MedicalInfo.meId=EmployInfo.meId";
if(this.ID_txt.Text != "")
{
s += " and MedicalInfo.meId=" + int.Parse(this.ID_txt.Text.Trim());
Base bb= new Base();
this.dt = bb.ExeSQLdt(s);
this.dataGrid1.DataSource = this.dt.DefaultView;
this.cm = (CurrencyManager)BindingContext[this.dt];
File.DataGridStyle(this.dt,this.dataGrid1);
}
if(this.name_txt.Text != "")
{
s += " and EmployInfo.eName like '%[" + this.name_txt.Text + "]%'";
Base bb= new Base();
this.dt = bb.ExeSQLdt(s);
this.dataGrid1.DataSource = this.dt.DefaultView;
this.cm = (CurrencyManager)BindingContext[this.dt];
File.DataGridStyle(this.dt,this.dataGrid1);
}
if(this.Date_txt.Text != "")
{
if(Regexlib.IsValidData(this.Date_txt.Text.Trim()))
{
s += " and MedicalInfo.enDate='" + this.Date_txt.Text.Trim() + "'";
Base b = new Base();
this.dt = b.ExeSQLdt(s);
this.dataGrid1.DataSource = this.dt.DefaultView;
this.cm = (CurrencyManager)BindingContext[this.dt];
File.DataGridStyle(this.dt,this.dataGrid1);
}
else
{
MessageBox.Show("发放时间格式错误,请输入(yyyy-mm-dd)");
}
}
}
private void ID_txt_TextChanged(object sender, System.EventArgs e)
{
if(this.ID_txt.Text.Trim() != "")
{
if(!Regexlib.IsValidNumber(this.ID_txt.Text.Trim()))
{
MessageBox.Show("员工编号格式错误,请输入正整数!");
}
}
}
#endregion
//页面设置
private void menuItem1_Click(object sender, System.EventArgs e)
{
this.pageSetupDialog1.ShowDialog();
this.pageSetupDialog1.AllowMargins = true;
this.pageSetupDialog1.AllowOrientation = true;
this.pageSetupDialog1.AllowPaper = true;
this.pageSetupDialog1.AllowPrinter = true;
this.pageSetupDialog1.Document = this.printDocument1;
}
//打印预览
private void menuItem2_Click(object sender, System.EventArgs e)
{
this.printPreviewDialog1.ShowDialog();
}
//打印
private void menuItem3_Click(object sender, System.EventArgs e)
{
if(this.printDialog1.ShowDialog() == DialogResult.OK)
{
try
{
this.printDocument1.Print();
}
catch(Exception ec)
{
MessageBox.Show(ec.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
printDocument1.PrintController.OnEndPrint(printDocument1,new PrintEventArgs());
}
}
}
#region 打印时,画相应的数据到打印控件中
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Graphics g = e.Graphics;//创建一个画布
float leftMargin = e.MarginBounds.Left;
float left = e.MarginBounds.Left;//X坐标
float top = e.MarginBounds.Top;//Y坐标
Font TitltFont = new Font("楷体_GB2312",12);//大标题字体
Font SubTileFont = new Font("楷体_GB2312",8);//小标题字体
Font font = this.dataGrid1.Font;//数据字体为DataGrid的默认字体
SolidBrush brush = new SolidBrush(Color.Black);//画刷
g.DrawString("员工医疗保险金发放记录表",TitltFont,brush,e.MarginBounds.Width/2,top);//打印主标题
g.DrawString("打印日期: " + DateTime.Now.ToShortDateString(),SubTileFont,brush,e.MarginBounds.Width/4*3,top + font.GetHeight(g)*2);//打印小标题(打印出打印的日期)
DataGridTableStyle Grid = new DataGridTableStyle();//定义一个DataGridD的表样式的对象
this.dataGrid1.TableStyles.Add(Grid);
Grid.GridColumnStyles[0].Width = 0;
StringBuilder sbHeadText = new StringBuilder();
foreach(DataGridColumnStyle myDataGridCol in Grid.GridColumnStyles)//获取DataGrid的列名存进StringBuilder中
{
sbHeadText.Append(myDataGridCol.HeaderText + "#");
}
string [] headText = sbHeadText.ToString().Split('#');//把StringBuilder分成字符串
for(int i = 1 ; i < headText.Length ; i ++)//在画出列名
{
g.DrawString(headText[i],font,brush,left,top + font.GetHeight(g)*4);
left += 140;
}
float Top = top + font.GetHeight(g)*5;//画数据时的Y坐标
for(int m = 0 ; m < this.dt.Rows.Count ; m ++)
{
leftMargin = e.MarginBounds.Left;
for(int n = 1 ; n < this.dt.Columns.Count ;n ++)
{
g.DrawString(this.dt.Rows[m][n].ToString(),font,brush,leftMargin,Top);
leftMargin += 140;
}
Top += font.GetHeight(g)*2;
}
if(Top > e.MarginBounds.Bottom)
{
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
}
}
#endregion
private void Date_txt_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar == (char)13)
{
this.button1_Click(sender,e);
}
}
private void ID_txt_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar == (char)13)
{
this.button1_Click(sender,e);
}
}
private void name_txt_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar == (char)13)
{
this.button1_Click(sender,e);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -