目前的代码使用......
1 = dataGridView1_CellValueChanged(){ //do some stuff }
2 = dataGridView1_RowLeave(){ //do some other stuff }
如果用户更改了单元格值,则在其他位置单击鼠标,顺序为1,2 ......一切都很好。
但是,如果用户更改单元格值,则按Enter键,顺序为2,1
我需要在RowLeave()
之前触发cellValueChanged提前致谢
/////////////////////
这是请求的代码
dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
newRecord = listOfRecords.ElementAt(dataGridView1.CurrentCell.RowIndex);
_recordsHaveChanged = true;
}
dataGridView1_RowLeave(object sender, DataGridViewCellEventArgs e)
{
if (_recordsHaveChanged)
{
DialogResult dialogResult = MessageBox.Show("yes or no", "", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
UpdateChanges.PerformClick();
_recordsHaveChanged = false;
DisplayAllDataOnTheForm();
}
else if (dialogResult == DialogResult.No)
{
//do nothing , return to form
}
}
}
答案 0 :(得分:0)
尝试使用dataGridView1_KeyPress事件。也可以在此活动中放置{ //do some stuff }
代码。
或者甚至更好地使用{ //do some stuff }
创建另一个方法,并从dataGridView1_KeyPress和dataGridView1_CellValueChanged事件中调用它。