I am 99.9% sure this is the EXACT same issue I was having a while back, the removing the previously autogenerated columnsets thread I started a while back.
Right after compiling the attached project, Visual Studio 2008 SP1 crashes. I am darn close to possitve that this is an issue with how the UltraGrid uses a collections ITypedList interface. Here is how I have come to that conclusion:
The goal is to allow home grown attributes on business objects. To achieve this goal when the business objects are in derivatives of IList, the collections need to implementation of Microsofts ITypedList. After making some changes to the code there was a new and serious bug introduced when trying to display a collection with a custom ITypedList, there was an endless loop. After much digging it was discovered the issue is in the custom implementation of ITypedList.
In the quest to fix the bug, this article shed a lot of light on the subject: http://weblogs.asp.net/fbouma/articles/115837.aspx
I opted to start with a baseline that does NOT use the custom ITypedList and build from there. The problem I have run into is that Visual Studio keeps crashing and is very sluggish when working with the UltraGrid control. I believe the actual business objects are correct because Visual Studio is displaying the structure correctly inthe Data Source view:
When I compile the program VS2008 does compile it, then it crashes. If the program is run outside of VS2008, it runs as expected.
My speculation is that there is a bug in the design time code which uses the ITypedList interface of the datasource of the UltraGrid control.
When the CompanyCollection implements the buggy custom ITypedList interface, VS2008 still shows it correctly, but the UltraGrid does not show it correctly, nor does it run. This custom implementation is NOT included in the project. If you would like to have it, please let me know and know where I can email, I cannot post it on an open forum.
Sam
I have duplicated it on two different machines now, with two different version of the project, one with my custom ITypedList and the one I posted here.
I have been able to reproduce this with "Infragistics2.Win.UltraWinTabControl.v9." and after compiling a debug version from source: NetAdvantageWinFormsSource20091. I have not tested on the latest code because upgrades effect the whole team, so I am simply working with where we are now.
Why do I think the two issues are related? I am speculating that the columnset issue is related because in both cases the Infragistics controls are interrogating the custom business objects. In the columnset case, it was using a incorrect implementation if the ITypedList interface, which I now have corrected. It fits in my mind that with an incorrect implementation of the ITypedList interface (on my part) that the Ingragistics interrogation is going to come up with different "columnset". Add some minor bug in the Ingragistics design time code that uses the ITypedList interface, and the problem shows it ugly face :)
Steps to reproduce:
At this point it crashes on both machines at the every end of the build. If I do a build and run, the application is started BEFORE the crash, which strengthens the theory the crash is happening in the design time code of the UltraGrid.
Hi Sam,
You are kind've jumping around a bit here and I'm having trouble following you.
If this is a grid issue, than how can it be related to the ColumnSets issue you were having? The grid doesn't even use ColumnSets.
Anyway, I downloaded your sample and complied it and ran it and got no exceptions. It works just fine for me. I also opened up the form in the designer and re-complied and re-ran the project since this would seem to be a designer issue, but I could not reproduce the problem.
What do I have to do with your sample to get the exception to occur?
Are you able to duplicate this on more than one PC?
Are you using the latest service release? How to get the latest service release - Infragistics Community
If you want to contact developer support and send them information privately, you can do that here: Submit an incident to Infragistics Developer Support