Я получаю исключение при попытке использовать MessageBox в моем событии CellValidating. Я проверяю в событии cellvalidating, имеет ли ячейка нулевое значение, я показываю MessageBox и устанавливаю e.Cancel = true; Однако использование MessageBox дает следующее исключение:
Ссылка на объект не установлена на экземпляр объекта
Моя главная цель - не дать пользователю удалить значение ячейки с помощью редактирования сетки. Итак, мне нужно выдать подсказку и вернуть фокус в одну и ту же ячейку каждый раз, когда значение ячейки пусто при выводе из вызова. Есть идеи, что может быть причиной этого исключения? Ниже приведен код в моем событии CellValidating
if ((columnName == "Date") && e.Value == null && e.ActiveEditor != null)
{
cell.Value = e.OldValue;
MessageBox.Show("Please specify a date.", "Date Field is Required");
e.Cancel=true;
}
Ниже StackTrace для ошибки-
Приложение не поддерживает оперативную работу (JIT)
отладки. Подробности смотрите в конце этого сообщения.
************** Exception Text **************
System.NullReferenceException: ссылка на объект не установлена на экземпляр объекта.
в Telerik.WinControls.UI.GridViewEditManager.EndEditCore (логическая проверка, логическая отмена)
в Telerik.WinControls.UI.BaseGridBehavior.OnMouseDown (MouseEventArgs e)
в Telerik.WinControls.UI.RadGridView.OnMouseDown (MouseEventArgs e)
в System.Windows.Forms.Control.WmMouseDown (сообщение & m, кнопка MouseButtons, щелчки Int32)
в System.Windows.Forms.Control.WndProc (сообщение & m)
в Telerik.WinControls.RadControl.WndProc (сообщение & m)
в System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Дополнительная информация-
Исключение не возникает, когда я обычно выполняю Tab OUt ячейки, но когда я прокручиваю до крайнего правого положения, пока моя ячейка, которую я редактировал до прокрутки, все еще находится в режиме редактирования, и пока я прокручиваю свое приглашение (MessageBox), появляется и при нажатии Ok отображается ошибка.