Is it possible to only group some rows, programmatically or otherwise?
What I'd like is for groups with only 1 item to appear as regular grid rows. In other words, only groups with 2 or more items show up as groups.
Hello Dierk,
After some research Selective Grouping has been determine as a new Product Idea. I have sent your Product Idea directly to our product management team. Our product team chooses new Product Ideas for development based on popular feedback from our customer base. Infragistics continues to monitor application development for all of our products, so as trends appear in requested ideas, we can plan accordingly.
We value your input, and our philosophy is to enhance our toolset based on customer feedback. If your idea is chosen for development, you will be notified at that time. Your reference number for this Product Idea is PI13030080
If you would like to follow up on your Product Idea at a later point, you may contact Developer Support management via email. Please include the reference number of your Product Idea in the subject and body of your email message. You can reach Developer Support management through the following email address: dsmanager@infragistics.com
Thanks. I suppose then there are no workarounds that I might be able to use now? Using the 11.1 release at the moment.
EDIT: I'm thinking something along the lines of having a group expanded but making the header/summary row collapsed or something similar.
I have implemnted your sugegstion in a small sample by handling the GroupByrecordPresenter's Loaded event and setting its Visibility to Collapsed and its IsExpanded to true if there is only one ChildRecord.
Hope this helps you.
This does exactly what I need. Thanks.
Thank you for your feedback. I am glad that you resolved your issue and I believe that other community members may benefit from this as well.
Thanks again.
Ok, I've run into some issues with this.
When there are more than a couple dozen items in the grid, the grouping behavior starts acting strangely. Sometimes groups no longer appear in the grid at all. Sometimes groups that SHOULD have a header don't. Sometimes a single item will end up in a group by itself and I'm unable to group or ungroup it without restarting my application. It's all very intermittent and only seems to show up when there are more than a handful of items in the grid.
Is there some sort of asynchronous behavior behind the scenes that I should be aware of that may be causing these issues? I'm using the GroupByPresenter_Loaded event as suggested. I also have a custom GroupByEvaluator for grouping things according to our own logic. Finally, I'm also customizing the GroupByRecordPresenter to display custom text and controls in the group header.
Please let me know if I can provide more information. It's difficult to describe the problem or pinpoint where it may be coming from.
Since the Visibility of the GroupByRecordPresenter is set internally via code, currently you are not able to use Style with a Trigger to control the Visibility and the only way is to use an event, where you can set it, but since there is virtualization, this approach won't work correcly if there are Records outside the viewable area, so my suggestion is to wait till the Prodict Idea I logged gets implemted. Also the External Data Processing feature would' help in implementing the functionality you want.
Stefan,
Would the external data processing feature of the 12.2 release allow us to perform the grouping externally and hide the headers as desired without running into the virtualization problems? Or is the GroupByPresenter still beholden to the grid when data is processed externally?
If this was expected behavior it would have been helpful to have been made aware of that when the suggestion was made, even if it's documented somewhere.
I have not yet had a chance to play with the virtualization settings so I do not know how effective they will be.
I can say that this behavior is expected, because of the XamDataGrid's Virtualization and since for the mooment the best way for achieving the result you want is handling the Loaded event, which fires only when the GroupByrecordPresenter is created I can sugegst you either turn off the virtualization or wait till the Product Idea I logged for you gets implemented. Also if I think of another way for achieving this I will let you know.