如何从另一个方法中“调用”datagridview事件CellValueChanged?

时间:2016-11-11 19:45:40

标签: c# events datagridview

目前的代码使用......

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
}
}
}

1 个答案:

答案 0 :(得分:0)

尝试使用dataGridView1_KeyPress事件。也可以在此活动中放置{ //do some stuff }代码。

或者甚至更好地使用{ //do some stuff }创建另一个方法,并从dataGridView1_KeyPress和dataGridView1_CellValueChanged事件中调用它。