We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

NullReferenceException again

Thread ID:

Created:

Updated:

Platform:

Replies:

23166 Jan 5,2005 07:59 PM Jan 6,2005 12:02 PM Windows Forms 6
loading
Tags: GridControl
Lori
Asked On January 5, 2005 07:59 PM

I have two different forms with the same GDBG class on them. If I change a value in a column that has a custom CellRenderer and there''s only ONE window open, everything works fine. If I do this same change when both windows are open, I get the dump below. It doesn''t happen when I leave this column - it occurs when I leave the row. What can I look for or do? catched at Syncfusion.Windows.Forms.Grid.GridDataBoundGrid.EndEdit() in :line 0 An unhandled exception of type ''System.NullReferenceException'' occurred in syncfusion.grid.dll Additional information: Object reference not set to an instance of an object. catched at Syncfusion.Windows.Forms.Grid.GridCurrentCell.Deactivate(Boolean discardChanges) in :line 0 Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at Syncfusion.Windows.Forms.Grid.GridCurrentCell.Deactivate(Boolean discardChanges) at Syncfusion.Windows.Forms.Grid.GridCurrentCell.MoveTo(Int32 rowIndex, Int32 colIndex, GridSetCurrentCellOptions options, Boolean discardChanges) at Syncfusion.Windows.Forms.Grid.GridCurrentCell.MoveTo(Int32 rowIndex, Int32 colIndex, GridSetCurrentCellOptions options) at Syncfusion.Windows.Forms.Grid.GridCurrentCell.InternalMove(GridDirectionType direction, Int32 num, GridSetCurrentCellOptions options) at Syncfusion.Windows.Forms.Grid.GridSelectCellsMouseController.GridCurrentCellExternalMove(GridDirectionType direction, Int32 num, Boolean extendSelection) at Syncfusion.Windows.Forms.Grid.GridCurrentCell.Move(GridDirectionType direction, Int32 num, Boolean extendSelection, Boolean wrapCell) at Syncfusion.Windows.Forms.Grid.GridCurrentCell.Move(GridDirectionType direction, Int32 num, Boolean extendSelection) at Syncfusion.Windows.Forms.Grid.GridControlBase.OnKeyDown(KeyEventArgs e) at Syncfusion.Windows.Forms.Grid.GridDataBoundGrid.OnKeyDown(KeyEventArgs e) at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m) at Syncfusion.Windows.Forms.Grid.GridControlBase.ProcessKeyEventArgs(Message& m) at System.Windows.Forms.Control.ProcessKeyMessage(Message& m) at Syncfusion.Windows.Forms.Grid.GridControlBase.ProcessKeyMessage(Message& m) at System.Windows.Forms.Control.WmKeyChar(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at Syncfusion.Windows.Forms.ScrollControl.WndProc(Message& msg) at Syncfusion.Windows.Forms.Grid.GridControlBase.WndProc(Message& msg) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at TimelineManager.TimelineInterface.Main() in c:\moss adams\holman - timeline\development\timelinemanager\timelineinterface.cs:line 1579The program ''[3056] TimelineManager.exe'' has exited with code 0 (0x0).

Lori
Replied On January 5, 2005 08:02 PM

More details : I''m using version 2.1.0.9. I am calling NotifyCurrentCellChanged.

Lori
Replied On January 6, 2005 01:28 AM

More information : Have further information - forget the information about the two windows. The value being changed by the custom renderer is also the current sort column of the grid. If changing the value causes the row order to change, that''s when I''m getting the NullReferenceException.

Administrator [Syncfusion]
Replied On January 6, 2005 02:19 AM

Getting a sample showing the problem that we can debug would be helpful. If you temporarily replace your custom cell type with our default "TextBox" celltype, does the problem go away? This would either eliminate the custom control as the source of teh problem, indicate that it plays a role in the problem.

Lori
Replied On January 6, 2005 11:00 AM

My grid/project is now sufficiently complex that putting together a sample isn''t doable. But some help with events & event order might help me discover something. I''ve added dummy CurrentCellDeactivating & CurrentCellDeactivated event handlers and put WriteLines in. When the exception occurs, I get a CurrentCellDeactivating without a CurrentCellDeactivated (makes sense from the stack dump). Is there something that I can look at in the CurrentCellDeactivating event that would tell me that the grid is going to do an EndEdit call in CurrentCellDeactivated? Or, is there another event I can hook that gets invoked between CurrentCellDeactivating & CurrentCellDeactivated? Thanks!

Administrator [Syncfusion]
Replied On January 6, 2005 11:28 AM

You can test CurrentCell.IsModified to see if the currentcell thinks it has been modified. You can also test currentcell.IsEditing. After CurrentCellDeactivating is raised, you will get a CurrentCellValidating (if there is a change) and possibly a CurrentCellCloseDropDown and maybe a CurrentCellCOntrolLostFocus before teh deactivated event is raised. If you have the source code, you can check out: Syncfusion\Essential Suite\3.0.1.0\Windows\Grid.Windows\Src\Base\Control\GridCurrentCell.cs(1462) if (!Grid.RaiseCurrentCellDeactivating())

Lori
Replied On January 6, 2005 12:02 PM

Actually the EndEdit that''s failing isn''t at the CurrentCell level. It''s the Binder.EndEdit that''s being invoked from CurrentCellDeactivated due to the need to flush the row. The custom cell in question isn''t even the current cell when this error occurs.

CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.

;