日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

员工考勤管理系统c语言,员工考勤信息管理小程序,考勤信息管理小程序

發布時間:2023/12/14 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 员工考勤管理系统c语言,员工考勤信息管理小程序,考勤信息管理小程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

員工考勤信息管理小程序,考勤信息管理小程序

雖然這是個小程序,但是呢還是用到了許多的知識點的.主要是""使用集合組織相關數據."",這個知識點非常重要.

在以后搞大型的項目,絕對離不開"集合組織數據".例如:ArrayList動態存儲數據,HashTable的數據結構(哈希表).

泛型集合:List和Dictionary

泛型類.

下面呢就是一個"員工信息管理"小程序.用來強化知識點.

首先,創幾個類:

SE類

public classSE

{public string ID { get; set; }public int Age { get; set; }public Sex Gender { get; set; }public string Name { get; set; }

}

Gen類(枚舉)

public classGen

{//public static 實現考勤信息管理.Gender 男 { get; set; }

}public enumSex

{

男, 女

}

Record類

{public classRecord

{//簽到時間

public DateTime SingInTime { get; set; }//簽退時間

public DateTime SingOutTime { get; set; }//工號

public string ID { get; set; }//員工姓名

public string Name { get; set; }

管理信息:

添加信息:

代碼段:

public int MaintanceType { get; set; }//保存父窗體的引用

public FrmMain FrmParent { get; set; }//初始化//保存按鈕的響應

private void btnOk_Click(objectsender, EventArgs e)

{try{

SE pr= newSE();

pr.ID= this.txtID1.Text.Trim();//工號

pr.Age = Int32.Parse(this.txtAge1.Text.Trim());//年齡

if (this.cmbgender1.SelectedIndex.ToString() == "男")//性別

{

pr.Gender=Sex.男;//這個也可以:pr.Gender=(Sex)(Enum.Parse(typeof(Sex),"男"));

}else{

pr.Gender=Sex.女;

}

pr.Name= this.txtName1.Text.Trim();//名字//添加操作//工號唯一性驗證

if (this.MaintanceType == 1)

{foreach (SE item inFrmParent.programmerList)

{if (item.ID ==pr.ID)

{

MessageBox.Show("此工號已存在");return;

}

}

FrmParent.programmerList.Add(pr);

}this.Close();

}catch(Exception)

{

MessageBox.Show("出錯啦");

}finally{this.FrmParent.BindGrid(FrmParent.programmerList);

}

看看主界面:

主界面的主要代碼

查詢信息:

//查詢信息

private void btnLook_Click(objectsender, EventArgs e)

{//根據員工號進行模糊查詢

List teapList = new List();//用臨時列表保存查詢到的信息

foreach (SE item in this.programmerList)

{if (item.ID.IndexOf(this.txtID.Text.Trim()) != -1)//indexof()實現模糊查詢

{

teapList.Add(item);

}

}this.dgvlist.DataSource = new BindingList(teapList);

}

刪除信息:

private void toolStripButton3_Click(objectsender, EventArgs e)

{if (this.dgvlist.SelectedRows.Count == 0)

{

MessageBox.Show("你還未選中要刪除的信息,請選擇!");return;

}

DialogResult result= MessageBox.Show("確認要刪除嗎?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);if (DialogResult.OK !=result)

{return;

}string sid = dgvlist.CurrentRow.Cells["ID"].Value.ToString();foreach (SE item inprogrammerList)

{if (item.ID ==sid)

{

programmerList.Remove(item);break;

}

}//刷新

BindGrid(programmerList);

MessageBox.Show("刪除成功!");

}

簽到:

代碼段:

//簽到菜單項,

private void 簽到ToolStripMenuItem_Click(objectsender, EventArgs e)

{//驗證//確保有選中的行

if (this.dgvlist.SelectedRows.Count != 1)

{

MessageBox.Show("請選擇要簽到的人");return;

}//確保沒有簽到過

string id = dgvlist.CurrentRow.Cells["ID"].Value.ToString();foreach (string item inrecordList.Keys)

{if (id ==item)

{

MessageBox.Show("您以前到過");return;

}

}//執行簽到

Record record = newRecord();

record.ID=id;

record.Name= dgvlist.CurrentRow.Cells["Name"].Value.ToString();

record.SingInTime= DateTime.Now;//獲取當前系統時間

this.recordList.Add(record.ID, record);//添加到記錄中

MessageBox.Show("簽到成功!!");

}

簽退:

//簽退操作

private void 簽退ToolStripMenuItem_Click(objectsender, EventArgs e)

{//確保有選中行

if (this.dgvlist.SelectedRows.Count != 1)

{

MessageBox.Show("請選擇!");return;

}string id = dgvlist.CurrentRow.Cells["ID"].Value.ToString();bool isOut = false;//標識是否已簽過到

foreach (string item inrecordList.Keys)

{if (item ==id)

{//執行簽到,設置簽退時間

this.recordList[item].SingOutTime =DateTime.Now;

MessageBox.Show("簽退成功!");

isOut= true;break;

}

}if (!isOut)

{

MessageBox.Show("很抱歉,尚未簽到!");

}

}

打卡記錄:

//打卡記錄

public Dictionary recordList { get; set; }//數據綁定

private voidBindRecords()

{

lblcount.Text= "共有"+recordList.Count+"條打卡記錄";//將Dictionary綁定到DataGridView控件

BindingSource bs= newBindingSource();#region 綁定數據源 BindingSource

/** 封裝窗體的數據源。

public BindingSource();

//

// 摘要:

// 初始化 System.Windows.Forms.BindingSource 類的新實例,并將 System.Windows.Forms.BindingSource

// 添加到指定的容器。

//

// 參數:

// container:

// 要將當前 System.Windows.Forms.BindingSource 添加到的 System.ComponentModel.IContainer。

*

public BindingSource(IContainer container);

//

// 摘要:

// 用指定的數據源和數據成員初始化 System.Windows.Forms.BindingSource 類的新實例。

//

// 參數:

// dataSource:

// System.Windows.Forms.BindingSource 的數據源。

//

// dataMember:

// 要綁定到的數據源中的特定列或列表名稱。

public BindingSource(object dataSource, string dataMember);

// 摘要:

// 獲取一個值,該值指示是否可以編輯基礎列表中的項。

//

// 返回結果:

// true 指示列表項可以編輯;否則為 false。*/

#endregionbs.DataSource=recordList.Values;

dgvlist.DataSource=bs;

}private void FrmRecord_Load(objectsender, EventArgs e)

{

BindRecords();

}

這樣最后呢,就可以完完整整的掌握了這些知識點------------------------------------

http://www.dengb.com/C_jc/1101897.htmlwww.dengb.comtruehttp://www.dengb.com/C_jc/1101897.htmlTechArticle員工考勤信息管理小程序,考勤信息管理小程序 雖然這是個小程序,但是呢還是用到了許多的知識點的.主要是""使用集合組織相關數據."",這...

總結

以上是生活随笔為你收集整理的员工考勤管理系统c语言,员工考勤信息管理小程序,考勤信息管理小程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。