• 经理评分


    一、首先实现主界面员工信息维护。
    1.关键代码,用list绑定datagridview
    Datagridview 对象.Datasoure=list 对象;
    2.当list数据经过增删改,需要转正
    datagridview.datasoure=new bindinglist<T>(mylist)
    3.保存父窗体的引用
    public frmmain frmparent{get;set;}
    (一)在父窗体load事件里赋值

    public List<se> ss = new List<se>();
    
            private void Frmmian_Load(object sender, EventArgs e)
            {
               //实例化对象,给他们初始值
                se x = new se();
                x.Id = 1;
                x.Name = "店小一";
                x.Age = 3;
                x.sex = "";
    
                se x1 = new se();
                x1.Id = 2;
                x1.Name = "大运";
                x1.Age = 23;
                x1.sex = "";
                ss.Add(x);
                ss.Add(x1);
                //绑定dataGridView数据
                dataGridView1.DataSource = new BindingList<se>(ss);
    
            }

    二、增加员工
    关键代码:
       this.frmparent.bindgrid(frmparent.ss);      //刷新父窗体
      // bindgrid方法在父窗体:

    //public void bindgrid(List<se> ss)
            {
                //刷新datagridview数据
                this.dataGridView1.DataSource = new BindingList<se>(ss);
            }
    //重新new员工类se,当前窗体控件里对应的值分别传到新建的员工类里。加if判断
    是男是女,根据当前新new的工号循坏判断总的是否有相同的,如果有则提示相同
      try
                {
                    se pr = new se();
                    pr.Id = Convert.ToInt32(this.txtid.Text.Trim());
                    pr.Age = Int32.Parse(this.txtage.Text.Trim());
                    pr.Name = this.txtname.Text.Trim();
                    if (this.txtsex.SelectedItem.ToString() == "")
                    {
                        pr.sex = "";
                    }
                    else
                    {
                        pr.sex = "";
                    }
                    foreach (se item in frmparent.ss)
                    {          //员工类    父窗体里的数据
                        if (item.Id == pr.Id)
                        {
                            MessageBox.Show("此工号已存在");
                            return;
                        }
                    }
                    frmparent.ss.Add(pr);
                    this.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("出错!" + ex.Message);
                }
                finally 
                {
                    this.frmparent.bindgrid(frmparent.ss);      
        //刷新父窗体代码      
                
                }

    三、实现删除功能
    //获取当前选中的,通过id删除

     private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (this.dataGridView1.SelectedRows.Count > 0)
                {
                    DialogResult choice = MessageBox.Show("确定要删除吗?", "提示", MessageBoxButtons.OKCancel);
                    if (choice == DialogResult.OK)
                    {
                        string id = this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//拿到选中的员工号进行删除
                        for (int i = 0; i < ss.Count; i++)
                        {
                            if (ss[i].Id.ToString() == id)
                            {
                                //执行删除操作
                                ss.Remove(ss[i]);
                                //刷新DataGridView
                                bindgrid(ss);
                                MessageBox.Show("删除成功!");
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("请选择一行!");
                        return;

    四、签到签退
    首先定义record类,里面保存签退签到时间,工号以及员工姓名
    主窗体里,先判断是否选中,确保是否签到过,
    如果签到,获取新的名字以及时间

    private Dictionary<string, Record> rec = new Dictionary<string, Record>();
            private void 签到ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //判断是否选中一行
                if (this.dataGridView1.SelectedRows.Count != 1)
                {
                    MessageBox.Show("请选中一行!");
                    return;
                }
                string workNo = dataGridView1.CurrentRow.Cells[0].Value.ToString();
                //遍历Key值
                foreach (string item in rec.Keys)
                {
                    if (workNo == item)
                    {
                        MessageBox.Show("您已经签到过!");
                        return;
                    }
                }
                Record record = new Record();
    
                record.Id = workNo;//id号
    
                record.Name = dataGridView1.CurrentRow.Cells[1].Value.ToString();//获取选中的姓名
                record.Intime = DateTime.Now;//当前的时间
                this.rec.Add(record.Id, record);//添加到记录里
                MessageBox.Show("签到成功!");
    
            }
    签退:
    
                if (this.dataGridView1.SelectedRows.Count != 1)
                {
                    MessageBox.Show("请选择一行!");
                    return;
                }
                string ID = dataGridView1.CurrentRow.Cells[0].Value.ToString();
                bool isOut = false;//标识是否已经签到过
                foreach (string item in rec.Keys)
                {
                    if (item == ID)
                    {
                        this.rec[item].Outtime = DateTime.Now;
                        MessageBox.Show("签退成功!");
                        isOut = true;
                        break;
                    }
                }
    
    
                if (!isOut)
                {
                    MessageBox.Show("很抱歉,尚未签到!");
                }

    最后绑定数据:

    public Frmmian frmparent { get; set; }
            public void show { 
                BindingSource bs = new BindingSource();
                bs.DataSource = FrmParent.dic.Values;
             this.dataGridView1.DataSource = bs;
                    }
                }
    
            }
  • 相关阅读:
    30张图解: TCP 重传、滑动窗口、流量控制、拥塞控制
    ffmpeg rtp时间戳
    35 张图解:被问千百遍的 TCP 三次握手和四次挥手面试题
    Pinpoint 分布式系统性能监控工具
    图解正向代理、反向代理、透明代理
    实战!我用 Wireshark 让你“看见“ TCP
    IE7的增强插件:IE7Pro
    Net Core 中的HTTP协议详解
    Autofac是一个轻量级的依赖注入的框架
    关于表数据的复制插入TSQL
  • 原文地址:https://www.cnblogs.com/yvsheng123/p/8726829.html
Copyright © 2020-2023  润新知