?? formlistemployee.cs
字號:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data ;
using System.Data .SqlClient ;
using System.Data .Common ;
using System.IO ;
namespace BlueHill.BlueHillWindows.EmployeeManagement
{
/// <summary>
/// FormListEmployee 的摘要說明。
/// </summary>
public class FormListEmployee : System.Windows.Forms.Form
{
public System.Windows .Forms.DataGrid grdEmployee;
private SqlConnection conn;
private SqlDataAdapter adp;
DataTable dt;
DataSet ds;
SqlCommand com;
private System.Windows.Forms.Button btnNewEmployee;
private System.Windows.Forms.Button btnEditEmployee;
private System.Windows.Forms.Button btnDeleteEmployee;
private System.Windows.Forms.Button btnQueryEmployee;
private System.Windows.Forms.Button btnCancel;
/// 必需的設計器變量。
/// </summary>
private System.ComponentModel.Container components = null;
public FormListEmployee()
{
//
// Windows 窗體設計器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 調用后添加任何構造函數代碼
//
}
/// <summary>
/// 清理所有正在使用的資源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
private void FormListEmployee_Load(object sender, System.EventArgs e)
{
readSQL();
ds=new DataSet ();
adp.Fill (ds,"tblemployeeMap");
DataTable dt=ds.Tables["tblemployee"];
this.grdEmployee.DataSource=dt;
}
private void readSQL()
{
conn=new SqlConnection ("Initial Catalog=BlueHill;Data Source=(local) ;Trusted_Connection=Yes");
adp=new SqlDataAdapter ("select * from tblemployee",conn);
DataTableMapping yy=adp.TableMappings .Add ("tblemployeeMap","tblemployee");
yy.ColumnMappings .Add ("EmployeeID","員工編號");
yy.ColumnMappings .Add ("Name","員工名字");
yy.ColumnMappings .Add ("LoginName","登錄名字");
yy.ColumnMappings .Add ("Password","密碼");
yy.ColumnMappings .Add ("Email","郵箱地址");
yy.ColumnMappings .Add ("DeptID","部門編號");
yy.ColumnMappings .Add ("BasicSalary","基本薪資");
yy.ColumnMappings .Add ("Title","職位");
yy.ColumnMappings .Add ("Telephone","電話");
yy.ColumnMappings .Add ("OnboardDate","工作日期");
yy.ColumnMappings .Add ("SelfIntro","自我介紹");
yy.ColumnMappings .Add ("VacationRemain","假期時間");
yy.ColumnMappings .Add ("EmployeeLevel","員工級別");
yy.ColumnMappings .Add ("PhotoImage","員工圖片");
}
#region Windows 窗體設計器生成的代碼
/// <summary>
/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void InitializeComponent()
{
this.btnNewEmployee = new System.Windows.Forms.Button();
this.btnEditEmployee = new System.Windows.Forms.Button();
this.btnDeleteEmployee = new System.Windows.Forms.Button();
this.btnQueryEmployee = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.grdEmployee = new System.Windows.Forms.DataGrid();
((System.ComponentModel.ISupportInitialize)(this.grdEmployee)).BeginInit();
this.SuspendLayout();
//
// btnNewEmployee
//
this.btnNewEmployee.Location = new System.Drawing.Point(8, 24);
this.btnNewEmployee.Name = "btnNewEmployee";
this.btnNewEmployee.TabIndex = 0;
this.btnNewEmployee.Text = "添加員工";
this.btnNewEmployee.Click += new System.EventHandler(this.btnNewEmployee_Click);
//
// btnEditEmployee
//
this.btnEditEmployee.Location = new System.Drawing.Point(100, 24);
this.btnEditEmployee.Name = "btnEditEmployee";
this.btnEditEmployee.TabIndex = 1;
this.btnEditEmployee.Text = "修改員工";
this.btnEditEmployee.Click += new System.EventHandler(this.btnEditEmployee_Click);
//
// btnDeleteEmployee
//
this.btnDeleteEmployee.Location = new System.Drawing.Point(192, 24);
this.btnDeleteEmployee.Name = "btnDeleteEmployee";
this.btnDeleteEmployee.TabIndex = 2;
this.btnDeleteEmployee.Text = "刪除員工";
this.btnDeleteEmployee.Click += new System.EventHandler(this.btnDeleteEmployee_Click);
//
// btnQueryEmployee
//
this.btnQueryEmployee.Location = new System.Drawing.Point(284, 24);
this.btnQueryEmployee.Name = "btnQueryEmployee";
this.btnQueryEmployee.TabIndex = 3;
this.btnQueryEmployee.Text = "查詢員工";
this.btnQueryEmployee.Click += new System.EventHandler(this.btnQueryEmployee_Click);
//
// btnCancel
//
this.btnCancel.Location = new System.Drawing.Point(376, 24);
this.btnCancel.Name = "btnCancel";
this.btnCancel.TabIndex = 4;
this.btnCancel.Text = "取消";
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// grdEmployee
//
this.grdEmployee.AllowSorting = false;
this.grdEmployee.CaptionBackColor = System.Drawing.Color.DodgerBlue;
this.grdEmployee.CaptionText = "員工記錄";
this.grdEmployee.DataMember = "";
this.grdEmployee.Dock = System.Windows.Forms.DockStyle.Bottom;
this.grdEmployee.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.grdEmployee.Location = new System.Drawing.Point(0, 77);
this.grdEmployee.Name = "grdEmployee";
this.grdEmployee.Size = new System.Drawing.Size(464, 288);
this.grdEmployee.TabIndex = 5;
//
// FormListEmployee
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(464, 365);
this.Controls.Add(this.grdEmployee);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnQueryEmployee);
this.Controls.Add(this.btnDeleteEmployee);
this.Controls.Add(this.btnEditEmployee);
this.Controls.Add(this.btnNewEmployee);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.Name = "FormListEmployee";
this.Text = "員工列表";
this.Load += new System.EventHandler(this.FormListEmployee_Load);
((System.ComponentModel.ISupportInitialize)(this.grdEmployee)).EndInit();
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 應用程序的主入口點。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new FormListEmployee());
}
private void btnCancel_Click(object sender, System.EventArgs e)
{
DialogResult result=MessageBox.Show ("確定要退出本窗口嗎?","MessageBox",MessageBoxButtons.OKCancel );
switch (result)
{
case DialogResult.OK :
this.Close ();
break;
case DialogResult.Cancel :
break;
}
}
private void btnNewEmployee_Click(object sender, System.EventArgs e)
{
FormNewEmployee frmNewEmployee=new FormNewEmployee();
SqlConnection sconn=new SqlConnection ("Initial Catalog=BlueHill;Data Source=(local);Trusted_Connection=Yes");
SqlDataAdapter sadp=new SqlDataAdapter ("select * from tblDepartment",sconn);
DataSet dats=new DataSet ();
DataTable dat=new DataTable ();
sadp.Fill (dats,"tblDepartment");
dat=dats.Tables [0];
frmNewEmployee.cbDepartment.DataSource=dat;
frmNewEmployee.cbDepartment.DisplayMember="DeptName";
frmNewEmployee. cbDepartment.ValueMember="DeptID";
frmNewEmployee.ShowDialog ();
readSQL();
ds=new DataSet ();
adp.Fill (ds,"tblemployeeMap");
DataTable dtt=ds.Tables["tblemployee"];
this.grdEmployee.DataSource=dtt;
}
private void btnQueryEmployee_Click(object sender, System.EventArgs e)
{
FormQueryEmployee frmNewEmployee=new FormQueryEmployee();
SqlConnection sconn=new SqlConnection ("Initial Catalog=BlueHill;Data Source=(local);Trusted_Connection=Yes");
SqlDataAdapter sadp=new SqlDataAdapter ("select * from tblDepartment",sconn);
DataSet dats=new DataSet ();
DataTable dat=new DataTable ();
sadp.Fill (dats,"tblDepartment");
dat=dats.Tables [0];
frmNewEmployee.cbDepartment.DataSource=dat;
frmNewEmployee.cbDepartment.DisplayMember="DeptName";
frmNewEmployee.cbDepartment.ValueMember="DeptID";
if(frmNewEmployee.ShowDialog()==DialogResult.OK )
{
try
{
this.grdEmployee.DataSource=frmNewEmployee.datat;
if(number==0)
{
MessageBox.Show ("沒有符合的查詢結果!");
frmNewEmployee.Close ();
}
}
catch(Exception)
{
MessageBox.Show ("請合適輸入查詢的條件!");
}
}
else
{
frmNewEmployee.Close ();
}
}
private DataRow SelectedRow()
{
return dt.Rows[grdEmployee.CurrentCell.RowNumber ];
}
private void btnEditEmployee_Click(object sender, System.EventArgs e)
{
dt=ds.Tables["tblemployee"];
int currentSelection =grdEmployee.CurrentRowIndex;
DataRow r=dt.Rows[currentSelection];
FormModifyEmployee frmUdEmployee=new FormModifyEmployee ();
frmUdEmployee.txtName.Text=r["員工名字"].ToString();
frmUdEmployee.txtUserName.Text=r["登錄名字"].ToString();
frmUdEmployee.txtEmail.Text=r["郵箱地址"].ToString();
frmUdEmployee.txtBaseSalary.Text=r["基本薪資"].ToString();
frmUdEmployee.txtPos.Text=r["職位"].ToString();
frmUdEmployee.txtTel.Text=r["電話"].ToString();
object imabobj=grdEmployee[grdEmployee.CurrentRowIndex,13];
if(imabobj !=null && !Convert.IsDBNull(imabobj))
{
byte[] imab=(byte[])imabobj;
MemoryStream memStream=new MemoryStream (imab);
frmUdEmployee.picPhoto.Image=Image.FromStream (memStream);
}
else
{
frmUdEmployee.picPhoto.Image=null;
}
frmUdEmployee.grd=grdEmployee;
frmUdEmployee.dts=ds;
frmUdEmployee.ShowDialog ();
readSQL();
ds=new DataSet ();
adp.Fill (ds,"tblemployeeMap");
DataTable dtt=ds.Tables["tblemployee"];
this.grdEmployee .DataSource=dtt;
}
private void btnDeleteEmployee_Click(object sender, System.EventArgs e)
{
DialogResult result=MessageBox.Show ("確定刪除員工嗎?將不能恢復!","確認刪除員工",MessageBoxButtons.OKCancel );
switch (result)
{
case DialogResult.OK :
try
{
conn.Open();
dt=ds.Tables["tblemployee"];
DataRow selectedRow=dt.Rows[grdEmployee.CurrentCell.RowNumber ];
int id=(int)selectedRow["員工編號"];
com=new SqlCommand("delete tblEmployee where EmployeeID=@cID",conn);
com.Parameters.Add("@cID",SqlDbType.Int,4);
com.Parameters["@cID"].Value=id;
ds.AcceptChanges();
int i=com.ExecuteNonQuery();
if(i>0)
{
MessageBox.Show("刪除成功!");
selectedRow.Delete();
}
}
catch(Exception)
{
MessageBox.Show("不能刪除該員工,因為該員工與其它表有主外鍵約束著.");
}
finally
{
conn.Close();
}
break;
case DialogResult.Cancel:
break;
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -