I have a grid with a detail grid. The detail grid contains cells that are managed by a celleditor consisting of yet another grid. The grid sometimes, but not always, throws an error when a detail grid that contains cells with more than one item is expanded by clicking the plus icon. This error is on paint and it invalidates the control by blanking it out and drawing a big red x through it. The error is difficult to trap since it occurs within internal methods of the Xceed grid. The stack trace looks something like this.
System.ArgumentOutOfRangeException: The index must be greater than or equal to 0 and less than Count.
Parameter name: index
Actual value was 16.
at Xceed.Utils.Exceptions.ThrowException.ThrowArgumentOutOfRangeException(String paramName, Object value, String message)
at Xceed.Utils.Collections.ListBase.ListGetItem(Int32 index)
at Xceed.Grid.Collections.VisibleRowList.get_Item(Int32 index)
at Xceed.Grid.PaintManager.PaintVisibleRows(VisibleRowList visibleRows, PaintEventArgs e)
at Xceed.Grid.PaintManager.PaintGrid(PaintEventArgs e)
at Xceed.Grid.GridControl.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at Xceed.Grid.GridControl.WndProc(Message& m)
at System.Windows.Forms.Control.ContrPainting grid grList
I have trapped the CollapsedChanged event and the Paint event. CollapsedChanged fires, Paint fires once, and then boom, the grid invalidates. If anyone can give me a hint about what’s happening here I would very much appreciate it.
Aaron Haspel
Imported from legacy forums. Posted by Aaron (had 1790 views)