将MessageBox与CellValidating事件一起使用时发生异常

时间:2019-04-30 11:01:50

标签: c# winforms radgridview

尝试在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)出现并单击确定显示错误。

0 个答案:

没有答案