C# WinForm Datagridview控件 Cellendedit 事件

 

事件不是手写代码,要在From(这里是 Datagridview窗体)的属性栏中的事件列表中双击生成。
 
 CellEndEdit是结束编辑的事件,当编辑的光标离开了单元格时,控件会认为是已经结束编辑了。
 
例: private void InitMetrilShow(bool nullflag = false)
 
        {
            //进行个人信息的获取显示
            dsMetri = board.GetMateriel(((nullflag) ? "" : boardmodel.BoardItemSN), 1);
            dataGVAssembleMateria.DataSource = dsMetri.Tables[0];
            dataGVAssembleMateria.ReadOnly = nullflag;
            dataGVAssembleMateria.Columns[0].Visible = false;
            dataGVAssembleMateria.Columns[1].Visible = false;
            dataGVAssembleMateria.Columns[2].Visible = false;
            dataGVAssembleMateria.Columns[4].Visible = false;
            dataGVAssembleMateria.Columns[2].HeaderText = "工件号";
            dataGVAssembleMateria.Columns[2].Width = 100;
            dataGVAssembleMateria.Columns[3].HeaderText = "物料代码";
            dataGVAssembleMateria.Columns[3].Width = 200;
        }
//因为项目中数据库表中指定第二、五列非空,插入数据时,检查第一列非空则自增,只对第四列录入新数据。所以,当第四列录入新数据时,对第二、五列直接自动插入。
private void dataGVAssembleMateria_CellEndEdit_1(object sender, DataGridViewCellEventArgs e)
        {
            if (string.IsNullOrEmpty(dataGVAssembleMateria.Rows[e.RowIndex].Cells[1].Value.ToString()))
            {
                //MessageBox.Show(e.RowIndex.ToString() + "  " + e.ColumnIndex.ToString(), "dd");
//使用CellEndEdit事件。在事件中,e.ColumnIndex 和e.RowIndex 指示了你刚刚编辑的是哪一个单元格;
                dataGVAssembleMateria.Rows[e.RowIndex].Cells[1].Value = boardmodel.BoardItemSN;
                 //给第二列赋值 boardmodel.BoardItemSN
                dataGVAssembleMateria.Rows[e.RowIndex].Cells[4].Value = '1';
               //给第五列赋值 boardmodel.BoardItemSN
 
            }
        }

 

posted on 2016-05-30 10:23  睡不着的根目录  阅读(1345)  评论(0)    收藏  举报