java员工打卡情况_考勤信息(员工打卡)
實現(xiàn)員工的添加,查詢和刪除,并用dgvList顯示出來
1.1///先聲明一個單列集合
public List list = new List();
1.2///初始化三個對象
private void FrmMain_Load(object sender, EventArgs e)
{
SE s1 = new SE();
s1.id = 20161000;
s1.name = "張三";
s1.age = 20;
s1.gender = "男";
SE s2 = new SE();
s2.id = 20161002;
s2.name = "李四";
s2.age = 18;
s2.gender = "男";
SE s3 = new SE();
s3.id = 20161004;
s3.name = "鳳姐";
s3.age = 20;
s3.gender = "女";
1.3//把數(shù)據(jù)添加到集合中并用dgvList加載出來
list.Add(s1);
list.Add(s2);
list.Add(s3);
dgvList.DataSource =(list);
}
1.4 private void btn01_Click(object sender, EventArgs e)
{
///創(chuàng)建臨時的單列集合來存儲數(shù)據(jù)
List llist = new List();
//遍歷集合中的對象
foreach (SE item in list)
{
//判斷要查詢對象的工號的下標是否存在
if(item.Id.IndexOf(txt01.Text.Trim())!=-1)
{
llist.Add(item); //把數(shù)據(jù)加入到臨時集合中
}
}
//把查詢到的數(shù)據(jù)綁定到dgvList中
dgvList.DataSource = new BindingList(llist);
}
1.5 private void toolStripButton3_Click(object sender, EventArgs e)
{
///刪除前先考慮根據(jù)什么來刪除數(shù)據(jù)
///我根據(jù)員工工號來刪除 首先得到工號
string id = dgvList.SelectedRows[0].Cells[0].Value.ToString();
//使用for循環(huán)來查找
for (int i = 0; i < list.Count; i++)
{
//判斷數(shù)據(jù)是否相等再刪除
if(list[i].Id==id)
{
list.RemoveAt(i);
}
}
//刪除后還得再重新綁定數(shù)據(jù)
dgvList.DataSource = new BindingList(list);
}
1.6///聲明一個靜態(tài)的雙列集合
public static Dictionary recordList = new Dictionary();
//單擊簽到
private void 簽到ToolStripMenuItem_Click(object sender, EventArgs e)
{
//判斷是否選中一行
if(dgvList.SelectedRows.Count!=1)
{
MessageBox.Show("請選中一行");
return;
}
//把選中的數(shù)據(jù)傳給記錄列表
string no = dgvList.SelectedRows[0].Cells[0].Value.ToString();
foreach (string id in recordList.Keys)
{
if(no==id)
{
MessageBox.Show("您已簽到過");
return;
}
}
Record record = new Record();
record.ID = no;
record.Name= dgvList.SelectedRows[0].Cells[1].Value.ToString();
record.StratTime = DateTime.Now;
recordList.Add(record.ID,record);
MessageBox.Show("簽到成功");
}
1.7///單擊簽退
private void 簽退ToolStripMenuItem_Click(object sender, EventArgs e)
{
//判斷是否選中一行
if (dgvList.SelectedRows.Count != 1)
{
MessageBox.Show("請選中一行");
return;
}
//把選中的數(shù)據(jù)傳給記錄列表
string no = dgvList.SelectedRows[0].Cells[0].Value.ToString();
bool falg = false;
//判斷是否有簽到記錄
foreach (string key in recordList.Keys)
{
if(key==no)
{
///執(zhí)行簽到
recordList[key].EndTime = DateTime.Now;
MessageBox.Show("簽退成功");
falg = true;
break;
}
}
if(falg==false)
{
MessageBox.Show("您還沒有簽到");
}
}
1.8///聲明一個Record類
public class Record
{
public string Name { get; set; }
public DateTime StratTime { get; set; }
public DateTime EndTime { get; set; }
public String ID { get; set; }
}
1.9///調(diào)用簽到記錄窗口
private void toolStripButton4_Click(object sender, EventArgs e)
{
FrmRecord record = new FrmRecord();
record.Show();
}
2.0///調(diào)用增加員工的窗口
private void toolStripButton1_Click(object sender, EventArgs e)
{
FrmAdd add = new FrmAdd();
Hide();
add.Show();
}
2.1///添加員工
private void btn01_Click(object sender, EventArgs e)
{
///通過保存把數(shù)據(jù)加到集合中
//首先創(chuàng)建一個對象并賦值
SE se = new SE();
se.Id = txt01.Text;
se.Name = txt03.Text;
se.Age = txt02.Text;
se.Gender = cbo01.Text;
foreach (SE item in FrmMain.list)
{
if (item.Id == txt01.Text)
{
MessageBox.Show("此工號已存在");
return;
}
}
//把數(shù)據(jù)加到list集合中,因為集合是在主窗體中聲明的需要調(diào)用
FrmMain main = new FrmMain();
FrmMain.list.Add(se);
main.Show();
}
2.2
private void FrmAdd_Load(object sender, EventArgs e)
{
//把男和女添加到下拉列表框中
cbo01.Items.Add("男");
//把男默認選中
cbo01.SelectedIndex=0;
cbo01.Items.Add("女");
}
總結
以上是生活随笔為你收集整理的java员工打卡情况_考勤信息(员工打卡)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车行业报告汇总(附下载)
- 下一篇: java开发书籍大全