实现考勤信息管理系统
泛型集合List的添加,查询和删除操作
使用泛型集合绑定DataGridView
用List绑定DataGridView控件的方法
DataGridView 对象.DataSource=List 对象;
当List 对象中的数据经过修改,添加或者删除操作后,需要经过转换才能正确绑定。
假如DataGridView对象是myDgv,List<T>对象是myList,则用myList绑定myDgv时代码如下:
myDgv.DataSource=new BingingList<T>(myList);
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)
{
{
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
{
{
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)
{
}
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);
}
}
}
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);
}
{
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
}
{
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);
}
}
//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("签到成功!");
{
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, 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("抱歉,尚未签到!");
}
}
{
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();
}
{
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() {
{
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;
}
vs.DataSource = recordList.Values;
this.dataGridView1.DataSource=vs;
}
private void Frmshow_Load(object sender, EventArgs e)
{
xianshi();
}
}
{
xianshi();
}
}