我有一个用户输入的datagridview。
例如,列是“姓名”,“出生日期”......
对于“出生日期”部分,我已经实施了验证......
我想让用户在被允许离开Cell之前必须输入有效的“出生日期”。这意味着一旦他们进入Cell,他们必须提供有效的“出生日期”,然后他们才能继续前进。
想知道如何做到这一点,我已经尝试将DGV.currentCell设置为“CellEndEdit”事件中的目标单元格。但是它给了我以下错误:“操作无效,因为它导致对setcurrentcelladdresscore函数的重入调用”
答案 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
}
}
这将有助于在用户输入错误的情况下将焦点保留在同一单元格中。