Page 1 of 1

Updating preview after designer closes

Posted: Tue Aug 01, 2006 11:19 am
by sprucely
I have a StiPreview control in a form. When it loads, I call Report.Render(). After it has been rendered, the user can bring up the designer. When the designer closes, the preview is blank. Calling Report.Render() again causes the following error:

2006:08:01, 09:05: StiRenderProvider: Method : [get_Item] : Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
====================================================
at System.Collections.ArrayList.get_Item(Int32 index)
at Stimulsoft.Report.Render.StiPreviewControl.view_Paint(Object sender, PaintEventArgs e)
at System.Windows.Forms.Control.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)


UPDATE
I found that calling Report.Render(false) does not cause the error.

Updating preview after designer closes

Posted: Wed Aug 02, 2006 8:01 am
by Edward
sprucely wrote:I have a StiPreview control in a form. When it loads, I call Report.Render(). After it has been rendered, the user can bring up the designer. When the designer closes, the preview is blank. Calling Report.Render() again causes the following error:

2006:08:01, 09:05: StiRenderProvider: Method : [get_Item] : Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
====================================================
at System.Collections.ArrayList.get_Item(Int32 index)
at Stimulsoft.Report.Render.StiPreviewControl.view_Paint(Object sender, PaintEventArgs e)
at System.Windows.Forms.Control.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)


UPDATE
I found that calling Report.Render(false) does not cause the error.
Please try to reassign report before calling Render method.

Code: Select all

 stiPreviewControl1.Report = stiReport1;
stiReport1.Render();
Thanks!