如果验证失败,currentCell保持不变。 - CellEndEdit事件

时间:2011-04-29 03:07:31

标签: vb.net validation datagridview

我有一个用户输入的datagridview。

例如,列是“姓名”,“出生日期”......

对于“出生日期”部分,我已经实施了验证......

我想让用户在被允许离开Cell之前必须输入有效的“出生日期”。这意味着一旦他们进入Cell,他们必须提供有效的“出生日期”,然后他们才能继续前进。

想知道如何做到这一点,我已经尝试将DGV.currentCell设置为“CellEndEdit”事件中的目标单元格。但是它给了我以下错误:“操作无效,因为它导致对setcurrentcelladdresscore函数的重入调用”

1 个答案:

答案 0 :(得分:1)

我相信您可以使用 CellValidating

来实现这一目标
void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    if(e.ColumnIndex == 3)
    {
       e.FormattedValue // Check your date validation against this value
       e.Cancel = true; // set this to true if validation fails
    }
}

这将有助于在用户输入错误的情况下将焦点保留在同一单元格中。