尝试在CellValidating事件中使用MessageBox时出现异常。我检查cellvalidating事件是否该单元格具有null值,我显示一个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) 调试。有关详细信息,请参阅此消息的末尾。
**************异常文本************** 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(Message&m) 在Telerik.WinControls.RadControl.WndProc(Message&m) 在System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)
其他详细信息- 当我通常使用单元格的Tab OUt时,不会发生异常,但是当我滚动至最右端时,在滚动之前我正在编辑的单元格仍处于编辑模式,并且在滚动提示时(MessageBox)出现并单击确定显示错误。