在那個春暖花開的季節 今天微微的小雨 伴著輕輕的晚風我們一起來編寫 員工考勤信息管理
阿新 • • 發佈:2018-04-05
menu parent time splay 我們 this label oid play
public partial class Form1 : Form { public Form1() { InitializeComponent(); }
//FROM 1 中的內容 //公共列表<SE>工程師=新列表<SE>(); public List<SE> engineers = new List<SE>(); //公共<string,Record>列表顯示<string,Record>();public Dictionary<string, Record> recordList = new Dictionary<string, Record>(); public void initial() { //初始化信息 SE wang = new SE(); wang.Name = "王小毛"; wang.Age = 19; wang.ID = "20090101"; wang.gender= Gender.男; SE joke = new SE(); joke.Name = "周新宇"; joke.Age = 19; joke.ID = "20090102"; joke.gender = Gender.女; //添加元素 engineers.Add(wang); engineers.Add(joke); } //泛型添加 //公共void BindGrid(<SE>列出)public void BindGrid(List<SE> list) { //dataGridView1。 數據源=新BindingList<SE>(列表); //添加顯示數據 dataGridView1.DataSource = new BindingList<SE>(list); } private void Form1_Load(object sender, EventArgs e) { //引用方法 initial(); BindGrid(engineers); } private void button1_Click(object sender, EventArgs e) { //<SE>工程師=新列表List<SE>(); List<SE> engineer = new List<SE>(); //foreach(SE項目工程師) foreach(SE item in engineers) { //判斷數據是否存在 if(item.ID.IndexOf(textBox1.Text.Trim())!=-1) { engineer.Add(item);//導入數據 } } BindGrid(engineer);//泛型添加 } private void toolStripButton1_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.frmparent = this; frm.ShowDialog();//模式化窗體 顯示 } private void toolStripButton3_Click(object sender, EventArgs e) { //提示 是否刪除 DialogResult i = MessageBox.Show("是否刪除", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (i == DialogResult.Yes) { //字符串id=dataGridView1. 隱藏所選擇[0] ToString(); string id = dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); foreach (SE item in engineers) { if (item.ID==id) { engineers.Remove(item);// 刪除 break; } } BindGrid(engineers); } } //簽到操作 private void 簽到ToolStripMenuItem_Click(object sender, EventArgs e) { // string workNo = dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); //驗證 確保有選中的行 foreach (string id in recordList.Keys) { if (id == workNo) { MessageBox.Show("今天已經簽到過了"); return; } } //執行簽到 Record record = new Record(); record.ID = workNo; record.Name = dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); record.SignInTime = DateTime.Now; //獲取系統的當前時間 recordList.Add(record.ID, record);//添加到簽到記錄中 MessageBox.Show("簽到成功"); } //簽退操作 private void 簽退ToolStripMenuItem_Click(object sender, EventArgs e) { string ID = dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); bool isOut = false; //標識是否已經簽到過 foreach(string key in recordList.Keys) { if(key==ID) { //執行簽到,設置簽退的時間 this.recordList[key].SignOutTime = DateTime.Now; MessageBox.Show("簽退成功"); isOut = true; break; } } if(isOut==false) //不成立 { MessageBox.Show("尚未簽到"); } } private void toolStripButton4_Click(object sender, EventArgs e) { Form3 frm = new Form3(); frm.name = "共有" + recordList .Count+ "條打卡記錄"; //窗體傳值 frm.frmparent = this; frm.ShowDialog(); }
//Form 2中的內容
public partial class Form2 : Form { public Form2() { InitializeComponent(); } //定義Form1 公用的屬性 public Form1 frmparent{ get; set; } private void button1_Click(object sender, EventArgs e) { //初始化信息 SE pr = new SE(); //窗體傳值 pr.ID = textBox1.Text; pr.Name = textBox3.Text; pr.Age = Convert.ToInt32(textBox2.Text); //判斷男女 if (comboBox1.SelectedValue.ToString() == "男") { pr.gender = Gender.男; } else { pr.gender = Gender.女; } foreach (SE item in frmparent.engineers) { if (item.ID == pr.ID) { MessageBox.Show("此工號已存在"); return; } } //綁定數據源 frmparent.engineers.Add(pr); this.Close(); this.frmparent.BindGrid(frmparent.engineers); } private void Form2_Load(object sender, EventArgs e) { Com();//調用Com方法 } private void Com() { //初始化 ComboBoxItem<Gender> itemmale = new ComboBoxItem<Gender>(); itemmale.ItemText = Gender.男.ToString(); itemmale.ItemValue = Gender.男; ComboBoxItem<Gender> itemfemale = new ComboBoxItem<Gender>(); itemfemale.ItemText = Gender.女.ToString(); itemfemale.ItemValue = Gender.女; //聲明集合 List<ComboBoxItem<Gender>> item = new List<ComboBoxItem<Gender>>(); //添加集合中的數據 item.Add(itemmale); item.Add(itemfemale); //綁定信息 comboBox1.DataSource = item; comboBox1.DisplayMember = "ItemText"; comboBox1.ValueMember = "ItemValue"; }
//Form 3中的內容
public partial class Form3 : Form { public Form3() { InitializeComponent(); } //定義Form3的公共屬性 public string name = ""; //定義Form1 公用的屬性 public Form1 frmparent { get; set; } private void Form3_Load(object sender, EventArgs e) { label1.Text = name;//綁定數據 NewMethod();//調用方法 } private void NewMethod() { //創建數據源的組件 // 用BindingSource可以提高程序的性能和安全性 BindingSource bs = new BindingSource(); //把集合元素添加到數據原中 bs.DataSource = frmparent.recordList.Values; //this 本對象 //展示數據源中的數據 this.dataGridView1.DataSource = bs; } private void button1_Click(object sender, EventArgs e) { //消息框.顯示(frmparent。列表顯示。 計數。 ToString()); //消息框展示集合中元素的數量 MessageBox.Show(frmparent.recordList.Count.ToString()); }
//ComboBoxItem類
class ComboBoxItem<T> { public string ItemText { get; set; } public T ItemValue { get; set; } } }
//Gender類
//公開枚舉性別 public enum Gender { 男,女 }
//Record類
public class Record { //保存父窗體的使用 //簽到的時間 public DateTime SignInTime { get; set; } //簽退的時間 public DateTime SignOutTime { get; set; } //工號 public string ID { get; set; } //員工姓名 public string Name { get; set; } } }
//SE 類
public class SE { //公共名稱的字符串 public string Name { get; set; } public int Age { get; set; } public Gender gender { get; set; } public string ID { get; set; } }
在那個春暖花開的季節 今天微微的小雨 伴著輕輕的晚風我們一起來編寫 員工考勤信息管理