• 第三章员工打卡


    namespace 员工信息维护
    {
    public partial class FrmMain : Form
    {
    public FrmMain()
    {
    InitializeComponent();
    }

    //列表,用于保存 SE 对象
    public List<SE> programmerList = new List<SE>();
    //刷新DataGrindView数据
    public void BindGrid(List<SE> list)
    {
    this.dataGridView1.DataSource = new BindingList<SE>(list);
    }


    private void toolStripButton1_Click(object sender, EventArgs e)
    {
    frmMaintance jj = new frmMaintance();
    //调用父窗体
    jj.FrmParent = this;
    jj.Show();
    }

    private void toolStripButton4_Click(object sender, EventArgs e)
    {
    frmRecord dk = new frmRecord();
    dk.recordList = this.recordList;
    dk.Show();
    }

    private void big_Load(object sender, EventArgs e)
    {
    //xianshi();
    }
    //查询
    private void button1_Click(object sender, EventArgs e)
    {
    List<SE> tempList = new List<SE>();
    foreach(SE item in this.programmerList){
    if (item.no.IndexOf(this.textBox1.Text.Trim())!=-1) {
    tempList.Add(item);
    }

    this.dataGridView1.DataSource = new BindingList<SE>(tempList);
    }
    }

    private void toolStripButton3_Click(object sender, EventArgs e)
    {
    DialogResult re = MessageBox.Show("确认要删除该数据吗", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
    if (re == DialogResult.OK)
    {
    foreach (SE item in this.programmerList)
    {
    if (dataGridView1.SelectedRows[0].Cells[0].Value==item.no)
    {
    programmerList.Remove(item);
    break;
    }

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

    }
    //签到


    public Dictionary<string, Records> recordList = new Dictionary<string, Records>();

    private void 签到ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    //验证是否有选中的行
    if (this.dataGridView1.SelectedRows.Count != 1)
    {
    MessageBox.Show("请选中一行!");
    return;
    }
    //确保没有签到过
    string workNo = this.dataGridView1.CurrentRow.Cells[0].Value.ToString();
    MessageBox.Show(workNo);
    foreach (string id in recordList.Keys)
    {
    if (workNo == id)
    {
    MessageBox.Show("您已经签到过了!");
    return;
    }
    }
    //签到
    Records record = new Records();
    record.ID = workNo;
    record.Name = this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
    record.SignInTime = DateTime.Now;
    //添加签到信息到记录中
    this.recordList.Add(record.ID, record);
    MessageBox.Show("签到成功!");
    }

    private void 签退ToolStripMenuItem_Click(object sender, EventArgs e)
    {

    //验证是否有选中的行
    if (this.dataGridView1.SelectedRows.Count != 1)
    {
    MessageBox.Show("请选中一行!");
    return;
    }
    string ID = this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
    //标识是否已签到过
    bool isOut = false;
    //遍历key,与ID对比,若相等可以签退,反之不行.
    foreach (string key in recordList.Keys)
    {
    if (key == ID)
    {
    //签退时间
    this.recordList[key].SignOutTime = DateTime.Now;
    MessageBox.Show("签退成功!");
    isOut = true;
    break;
    }
    }
    if (!isOut)
    {
    MessageBox.Show("很抱歉,尚未签到!");
    }

    }

    }

    }

    public partial class frmMaintance : Form
    {
    // big FrmParent = new big ();
    //初始化
    public frmMaintance()
    {
    InitializeComponent();
    this.comboBox1.SelectedIndex = 0;
    }



    //big FimParant=new big ();
    //保存父窗体的引用
    public FrmMain FrmParent { get; set; }

    // public static List<SE>programmerList=new List<SE>();
    private void button1_Click(object sender, EventArgs e)
    {
    try
    {

    SE pp = new SE();
    pp.no = this.textBox1.Text.Trim();
    pp.age = Int32.Parse(this.textBox2.Text.Trim());
    pp.sex = this.comboBox1.Text;
    pp.name = this.textBox3.Text;
    foreach (SE item in FrmParent.programmerList)
    {
    if (pp.no == item.no)
    {
    MessageBox.Show("此工号已存在");
    return;
    }
    }
    FrmParent.programmerList.Add(pp);
    this.Close();

    }
    catch (Exception ex)
    {
    Console.WriteLine(ex.Message);

    }
    finally
    {
    //刷新父窗体信息
    this.FrmParent.BindGrid(FrmParent.programmerList);
    }
    }

    private void frmMaintance_Load(object sender, EventArgs e)
    {

    }



    }

     

    public partial class FrmMain : Form
    {
    public FrmMain()
    {
    InitializeComponent();
    }

    //列表,用于保存 SE 对象
    public List<SE> programmerList = new List<SE>();
    //刷新DataGrindView数据
    public void BindGrid(List<SE> list)
    {
    this.dataGridView1.DataSource = new BindingList<SE>(list);
    }


    private void toolStripButton1_Click(object sender, EventArgs e)
    {
    frmMaintance jj = new frmMaintance();
    //调用父窗体
    jj.FrmParent = this;
    jj.Show();
    }

    private void toolStripButton4_Click(object sender, EventArgs e)
    {
    frmRecord dk = new frmRecord();
    dk.recordList = this.recordList;
    dk.Show();
    }

    private void big_Load(object sender, EventArgs e)
    {
    //xianshi();
    }
    //查询
    private void button1_Click(object sender, EventArgs e)
    {
    List<SE> tempList = new List<SE>();
    foreach(SE item in this.programmerList){
    if (item.no.IndexOf(this.textBox1.Text.Trim())!=-1) {
    tempList.Add(item);
    }

    this.dataGridView1.DataSource = new BindingList<SE>(tempList);
    }
    }

    private void toolStripButton3_Click(object sender, EventArgs e)
    {
    DialogResult re = MessageBox.Show("确认要删除该数据吗", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
    if (re == DialogResult.OK)
    {
    foreach (SE item in this.programmerList)
    {
    if (dataGridView1.SelectedRows[0].Cells[0].Value==item.no)
    {
    programmerList.Remove(item);
    break;
    }

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

    }
    //签到


    public Dictionary<string, Records> recordList = new Dictionary<string, Records>();

    private void 签到ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    //验证是否有选中的行
    if (this.dataGridView1.SelectedRows.Count != 1)
    {
    MessageBox.Show("请选中一行!");
    return;
    }
    //确保没有签到过
    string workNo = this.dataGridView1.CurrentRow.Cells[0].Value.ToString();
    MessageBox.Show(workNo);
    foreach (string id in recordList.Keys)
    {
    if (workNo == id)
    {
    MessageBox.Show("您已经签到过了!");
    return;
    }
    }
    //签到
    Records record = new Records();
    record.ID = workNo;
    record.Name = this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
    record.SignInTime = DateTime.Now;
    //添加签到信息到记录中
    this.recordList.Add(record.ID, record);
    MessageBox.Show("签到成功!");
    }

    private void 签退ToolStripMenuItem_Click(object sender, EventArgs e)
    {

    //验证是否有选中的行
    if (this.dataGridView1.SelectedRows.Count != 1)
    {
    MessageBox.Show("请选中一行!");
    return;
    }
    string ID = this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
    //标识是否已签到过
    bool isOut = false;
    //遍历key,与ID对比,若相等可以签退,反之不行.
    foreach (string key in recordList.Keys)
    {
    if (key == ID)
    {
    //签退时间
    this.recordList[key].SignOutTime = DateTime.Now;
    MessageBox.Show("签退成功!");
    isOut = true;
    break;
    }
    }
    if (!isOut)
    {
    MessageBox.Show("很抱歉,尚未签到!");
    }

    }

    }

    }

    public partial class frmRecord : Form
    {

    public Dictionary<string, Records> recordList { get; set; }
    public frmRecord()
    {
    InitializeComponent();
    }

    private void DK_Load(object sender, EventArgs e)
    {

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

    public void Rows()
    {
    int row = this.dataGridView1.RowCount;
    this.label1.Text = "共有" + row + "条打卡记录";
    }

    private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {

    }

    }

      //员工类

    public class SE
    {

    public string no { get; set; }
    public int age { get; set; }
    public string name { get; set; }
    public string sex { get; set; }

      //打卡信息类

    public class Records
    {

    public DateTime SignInTime { get; set; }
    public DateTime SignOutTime { get; set; }
    public string ID { get; set; }
    public string Name { get; set; }


    }

    static class Program
    {

    // 应用程序的主入口点。

    [STAThread]
    static void Main()
    {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new FrmMain());
    }
    }

  • 相关阅读:
    winform+cefSharp实现窗体加载浏览器
    C# 实现Mqqtnet 客户端,订阅发布信息
    winform+CefSharp 实现和js交互
    C# 读取INI文件
    H5+asp.net 微信开发 遇到过的坑
    C#读取Excel文件,准换为list
    vmware pro 15.5.5 官方下载地址
    IOS部分APP使用burpsuite抓不到包原因
    CVE-2020-0796 SMBv3本地提权
    网络摄像头rtsp协议登录认证
  • 原文地址:https://www.cnblogs.com/wangdan123/p/6553544.html
Copyright © 2020-2023  润新知