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
}
}
浙公网安备 33010602011771号