currentCell останется прежним, если проверка не удалась.- CellEndEdit Событие - PullRequest
1 голос
/ 29 апреля 2011

У меня есть сетка данных для ввода пользователя.

Например, столбцы «Имя», «Дата рождения» ...

Для части "Дата рождения" я ввел валидацию ...

я хочу сделать так, чтобы пользователь вводил действительную «дату рождения», прежде чем ему будет разрешено покинуть ячейку. Это означает, что после того, как они вошли в Клетку, они должны предоставить действительную «Дату рождения», после чего они могут двигаться дальше.

хотел бы узнать, как это можно сделать, я попытался установить для DGV.currentCell целевую ячейку внутри события "CellEndEdit". Но это дает мне следующую ошибку: «операция недопустима, потому что она приводит к повторному вызову функции setcurrentcelladdresscore»

1 Ответ

1 голос
/ 29 апреля 2011

Я полагаю, что вы можете добиться этого, используя 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
    }
}

Это поможет сохранить фокус в одной и той же ячейке в случае неправильного ввода пользователем.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...