Hello,
we have an application which uses a WinGrid with 3 bands.
On the second band we have 3 columns: Suppliers, Quantities and a third colum which uses a MultiSelect UltraCombo with the list of Orders for that supplier. After selecting the Orders by checking them on the UltraCombo it adds new rows to a third band listing the orders I choosed.
First time it works like a charm! On the BeforeCellListDropDown event I load all the orders for that specific supplier and there's no Errors.
When I pass on to another supplier it throws an Unhandled Exception like on the picture attached. The exception window appears after the BeforeCellListDropDown and not always... but 90% of the time...
It doesn't happen if I select the rows in the combo in order (from top of the list to bottom) as long as I select the first item on the list... everything else throws this error...
What could be wrong?
Please help because this project is due to deliver this week!
Many thanks.
Hi,
I can't see enough of the call stack of the exception to even take a reasonable guess here. Can you post the entire call stack. I'm pretty sure you can copy and paste the text from that dialog.
If you could post a small sample project demonstrating the exception that would be even better. My guess is that the issue has something to do with the fact that you are adding child rows in response to the selection from a DropDown in the grid. But without knowing what your code is doing and what events it's doing it in, it's impossible to guess.
Here's the stack:
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************System.ArgumentOutOfRangeException: Parameter name: iteIndex at Infragistics.Win.UltraWinGrid.UltraDropDownBase.Infragistics.Win.IValueList.ResolveItemAppearance(Int32 itemIndex, AppearanceData& appData, AppearancePropFlags& flags, ComponentRole componentRole) at Infragistics.Win.EditorWithTextUIElement.GetImage(String text, AppearanceData& appData) at Infragistics.Win.EditorWithTextUIElement.PositionChildElements() at Infragistics.Win.UIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UltraWinGrid.RowColRegionIntersectionUIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UltraWinGrid.DataAreaUIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UltraWinGrid.UltraGridUIElement.VerifyChildElements(ControlUIElementBase controlElement, Boolean recursive) at Infragistics.Win.UIElement.DrawHelper(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode, Boolean clipText, Boolean forceDrawAsFocused, Boolean preventAlphaBlendGraphics) at Infragistics.Win.ControlUIElementBase.Draw(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode, Size elementSize, Boolean preventAlphaBlendGraphics) at Infragistics.Win.ControlUIElementBase.Draw(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode) at Infragistics.Win.UltraWinGrid.UltraGridUIElement.Draw(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode) at Infragistics.Win.UltraControlBase.OnPaint(PaintEventArgs pe) at Infragistics.Win.UltraWinGrid.UltraGrid.OnPaint(PaintEventArgs pe) at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer) at System.Windows.Forms.Control.WmPaint(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
I remove and add the EditorComponent exactly to solve THIS PROBLEM. I'm using EditorComponent instead of ValueList because with ValueList the combo closes without letting me select any row...
Besides I already tried your advise (I just add the EditorComponent once when the form is loading) and I still got the same problem...
I don't want to give bad luck but... I think I solved it!
Apparentely the problem is that I was adding the rows on the third band directly from this:
For each loRow as UltraGridRow in cmbOrders.CheckedRows
' AddRows Code
Next
After a debug I found that sometimes th cmbOrders "lost" the CheckedRows reference returning Null and causinh these problems...
So now before I add any rows to the third band, I save the values on a temporary table and after the table is populated, I run thru the temp table rows and add the rows to the third band..
I already did 4 tests with variations and the error didn't occur anymore... I will make more tests today and tomorrow and get back here to confirm if this REALLY solved it!
Spoken to soon...
I still got the scroll problem... how CAN I SOLVE THIS?????
Have you been able to resolve your issue with Mike`s help? Please keep us in touch.
Regards
Unfortunately no,
I solved the problem using this instead of your MultiSelect Combo:
http://devcenter.infragistics.com/Support/KnowledgeBaseArticle.aspx?ArticleID=7698
But can you show me a way of using BeginInvoke for adding rows?
Hi again,
Did you look the attached example ?
Could you please look the attached project. Please try to modify my project to achieve the same issue.
Please keep me in touch
Georgi