Я пытаюсь проверить вход пользователя в ячейку сетки. Я могу проверить входные данные, но мне нужно сфокусироваться на одной и той же ячейке, потому что пользователь должен ввести правильное значение снова. Но фокус переходит в ячейку ниже, если пользователь нажимает кнопку ввода, если табуляция ударяется, она переходит в ячейку следующей к нему. Вы можете видеть мою почти выполненную функцию ниже,как правильно проверить ячейку сетки
private void gv_ValidateRow(object sender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e)
{
decimal amount = (decimal)gv.GetRowCellValue(e.RowHandle, gv.Columns["AMOUNT"]);
decimal max_kg = (decimal)gv.GetRowCellValue(e.RowHandle, gv.Columns["MAX_KG"]);
if (amount > max_kg) {
gv.SetRowCellValue(e.RowHandle, gv.Columns["AMOUNT"], 0);
XtraMessageBox.Show("Girilen miktar MAX.KG'dan büyük olamaz.");
gv.FocusedRowHandle = e.RowHandle;
}
}
Как я могу заставить его сфокусироваться на той же самой ячейке, чтобы повторно ввести сумму?
Должен ли я использовать другое событие для проверки?
Набор 'e.Valid = false', чтобы предотвратить проверка завершена и позволяет пользователю перейти к следующей строке/столбцу. –
Я пробовал e.Valid, но он тоже этого не делает. Появляется только сообщение «MessageBox.YesNo», в котором говорится: «Вы хотите ввести допустимое значение?». Если вы нажмете «НЕТ», то основное внимание будет уделено следующей ячейке –