#vb.net #validation #datagridview
#vb.net #проверка #datagridview
Вопрос:
У меня есть datagridview для ввода пользователем.
Например, столбцы «Имя», «Дата рождения»…
Для части «Дата рождения» я реализовал проверку…
я хочу сделать так, чтобы пользователь должен был ввести действительную «Дату рождения», прежде чем ему разрешат покинуть ячейку. Это означает, что после того, как они вошли в ячейку, они должны предоставить действительную «Дату рождения», после чего они могут двигаться дальше.
хотел бы узнать, как это можно сделать, я попытался установить DGV.CurrentCell в указанную ячейку внутри события «CellEndEdit». Но это выдает мне следующую ошибку: «операция недопустима, поскольку это приводит к повторному вызову функции setcurrentcelladdresscore»
Ответ №1:
Я полагаю, вы можете достичь этого, используя проверку ячейки
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
}
}
Это поможет сохранить фокус в той же ячейке в случае неправильного ввода пользователем.