您的位置:首页 > 编程语言 > C#

C#员工打卡

2017-02-18 12:19 211 查看
泛型集合List的添加,查询和删除操作

使用泛型集合绑定DataGridView

用List绑定DataGridView控件的方法

DataGridView 对象.DataSource=List 对象;

主界面:

public partial class FrmMaintance : Form
{
public FrmMaintance()
{
InitializeComponent();
this.combsex.SelectedIndex = 0;
}
public FrmMain FrmParent { get; set; }

private void textBox2_TextChanged(object sender, EventArgs e)
{

}

private void baocun_Click(object sender, EventArgs e)
{
try
{

SE se = new SE();
se.Id =this.textid.Text.Trim();
se.Age = Int32.Parse(this.textage.Text.Trim());
se.Name = this.textname.Text.Trim();
if (this.combsex.SelectedItem.ToString() == "男")
{
se.Sex = Gender.男;
}
else
{

se.Sex = Gender.女;
}

foreach (SE item in FrmParent.programmerList)
{
if (item.Id == se.Id)
{
MessageBox.Show("此工号已经存在!");
return;
}
}
FrmParent.programmerList.Add(se);
this.Close();
}
catch (Exception ex)
{

MessageBox.Show(ex.Message);
}
finally {
this.FrmParent.BindGrid(FrmParent.programmerList);
}
}

员工信息维护界面:

public partial class FrmMain : Form
{
public FrmMain()
{
InitializeComponent();
}
public List<SE> programmerList = new List<SE>();

public void BindGrid(List<SE> list) {
this.dgvProgrammer.DataSource=new BindingList<SE>(programmerList);
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
FrmMaintance f = new FrmMaintance();
f.FrmParent = this;
f.Show();
}
private void FrmMain_Load(object sender, EventArgs e)
{
BindGrid(programmerList);
xianshi();

}
public void xianshi() {

programmerList.Add(new SE(){Id="1",Age=1,Name="李",Sex=Gender.男});
dgvProgrammer.DataSource = new BindingList<SE>(programmerList);

}
private void button1_Click(object sender, EventArgs e)
{
List<SE> tempList = new List<SE>();
foreach (SE item in this.programmerList)
{
if(item.Id.IndexOf(this.textid.Text.Trim())!=-1)
{
tempList.Add(item);
}
}
this.dgvProgrammer.DataSource = new BindingList<SE>(tempList);
}

private void toolStripButton2_Click(object sender, EventArgs e)
{

if (MessageBox.Show("是否确认删除", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)==DialogResult.OK)
{

foreach (SE item in this.programmerList)
{
if (dgvProgrammer.SelectedRows[0].Cells[0].Value.ToString() == item.Id)
{
programmerList.Remove(item);
break;
}
//dgvProgrammer.SelectedRows[0].Cells[0].Value
}

MessageBox.Show("删除成功");
//this.dgvProgrammer.DataSource=new BindingList<SE>(programmerList);
BindGrid(programmerList);

}
}

private Dictionary<string, Record> recordList = new Dictionary<string, Record>();

private void 签到ToolStripMenuItem_Click(object sender, EventArgs e)
{
if(this.dgvProgrammer.SelectedRows.Count!=1){
MessageBox.Show("请选择一行");
return;
}
string workNo = dgvProgrammer.CurrentRow.Cells["id"].Value.ToString();
foreach (string item in recordList.Keys)
{
if(workNo==item){
MessageBox.Show("您已经签到过");
return;
}
}
Record record = new Record();
record.Id = workNo;
record.Name = this.dgvProgrammer.CurrentRow.Cells["name"].Value.ToString();
record.SignInTime = DateTime.Now;
this.recordList.Add(record.Id,record);
MessageBox.Show("签到成功!");

}

private void 前退ToolStripMenuItem_Click(object sender,
9991
EventArgs e)
{
if (this.dgvProgrammer.SelectedRows.Count != 1)
{
MessageBox.Show("请选择一行");
return;
}
string id = this.dgvProgrammer.CurrentRow.Cells["id"].Value.ToString();
bool isOut = false;
foreach (string item in recordList.Keys)
{
if(item==id){
this.recordList[item].SignOutTime = DateTime.Now;
MessageBox.Show("签退成功");
isOut = true;
break;
}
}
if(!isOut){
MessageBox.Show("抱歉,尚未签到!");

}
}

private void toolStripButton3_Click(object sender, EventArgs e)
{
Frmshow frm = new Frmshow();
frm.recordList = this.recordList;
frm.ShowDialog();
}

打卡记录:

public partial class Frmshow : Form
{
public Frmshow()
{
InitializeComponent();
}
public Dictionary<string, Record> recordList { get; set; }
public void xianshi() {

BindingSource vs = new BindingSource();
vs.DataSource = recordList.Values;
this.dataGridView1.DataSource=vs;
}

private void Frmshow_Load(object sender, EventArgs e)
{
xianshi();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: