当我在DataGridView的单元格中输入一些值并单击另一个单元格时,将执行cellvalidating事件处理程序代码。即使验证填充,我点击的单元格也会突出显示。我的要求是单元格应保持选中状态,并且在删除无效值后,光标应在单元格中闪烁以进行编辑。如果验证失败,请使用以下代码:
DataGridView1.CancelEdit();
我尝试过添加
DataGridView1.CurrentCell.Selected = true;
DataGridView1.BeginEdit(true);
答案 0 :(得分:1)
您需要使用下面的e.Cancel = true
。
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
int i;
if (!int.TryParse(e.FormattedValue.ToString(), out i))
{
e.Cancel = true;
MessageBox.Show("Please input a integral number.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
答案 1 :(得分:1)
我使用上面的解决方案改变了我的代码并且它有效:
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
DataGridView1.CancelEdit();
e.Cancel = true;
DataGridView.BeginEdit(true);
}