I have a custom grouping summary for a particular column (Lets call it column A). I set the properties (formatting, forumla, etc) in the "InitializeLayout" event, but when the grid loads up column A does not show any grouping summary for that column (even though I know for sure that my custom function gets called). I also rigged up a button on the form to add more grouping summaries to the grid when pressed, when the extra summaries are added column A finally shows the grouping summary. Why does it do this? I want column A's grouping summary to appear right when the grid is loaded with data.
What version of the controls are you using? This sounds like a bug to me. You should probably make sure you have the latest Hot Fix and if that does not help, Submit an incident to Infragistics Developer Support. If possible, include a small sample project that demonstrates the problem.
I'm experiencing the same behaviour, I am using the 2008 volume 2 version, 8.2.20082.1000.
I submitted an incident report on 17th September 2008. This is apparently "working as designed" (the old classic :-). However a future feature request has been entered to get custom summaries to be included as part of a grid layout.
If anyone is interested, I managed to create a clunky workaround which basically does the following:
1) Before saving layout, turn all custom summaries into standard "Sum" summary types instead.
2) After saving layout, switch summaries back to custom
3) After loading layout for the grid, change all the summary types to custom.
Of course I was lucky that in my case, all the summaries on this grid are custom and use the same custom evaluator. If you have a mixture of standard and custom it will be a bit more complicated.
Thank you for letting us know about your experience.
Maybe we have two slightly different problems. It worked perfectly with version 2008 v2 while the hotfix broke the feature, so it couldn't be "working as designed".
That is confusing!
I am using 2008 v1.
I applied the latest hotfixes for 2008 v1 but they did not fix this issue.
That doesn't make sense. The original poster here is describing a case where the summary is there and simply doesn't show up. The fact that it shows up once you add another summary is a clear indication of a bug. If you reported that to Infragistics Developer support and someone told you it was by design, then they clearly misunderstood the issue. If that was by design, it would be a really poor design and that's not how we design here at Infragistics.
So either the issue you reported is not the same issue that the first poster is describing or there has been a serious miscommunication here somewhere.
Oh dear.
Sorry Mike you are correct - my issue was different.
My issue was that I saved a grid layout which had a custom summary set on some columns.
When you examine the layout you see that custom summary was not saved as part of the layout.
Sorry for any confusion caused!
Okay, that's what I thought. That's a completely different and unrelated issue. :)
The layout of the grid is saved using DotNet Serialization code like the Binary or SOAP formatter. If you just create a new class in DotNet and implement ICustomSummaryCalculator (which I assume is what you are doing), then the grid cannot save that object with the layout, because it's not Serializable.
In theory, if you make your class implement ISerializable then the grid can save and load it along with the layout. But I don't think the grid will attempt to do this, because it may not be obvious that it is doing so and it could cause some serious confusion. For example, suppose you decided to implement ICustomSummaryCalculator on the Form or some other class that happens to already implement ISerializable rather than creating a new class? The grid's Layout would then attempt to serialize the form as part of the layout. And unless you also implemented ISerializable on the form and added in the properties for your custom summary, this would end up not working anyway and waste huge amounts of memory and hard drive space - assuming it didn't crash your application.