Is it possible to have a non blocking UI while changing the visual-grouping.
Now UI application is blocked when user is changing the the visual-grouping.
Specially on large datasets where the visual-grouping is very useful, the complete application is blocked while applying the grouping.
A TAniIndicator and a cancel possibility would be great.
every action in the grid is done on the main thread, so cancelling is not possible. We'll investigate the possibilities. You could for example as an indicator use the OnBeforeDropHeaderGroup / OnAfterDropHeaderGroup and change the cursor into a waiting cursor.
It would be a big improvement not to perform actions in the main thread. Most modern applications use a non blocking UI. This component than would ruin the user experience. Also Android applications would crash on such an action in the main thread.
The grid needs to loop through the rows, mark them and then reconfigure them. The reconfigure process is on the main thread. The loop could be offloaded to a separate thread, yet as soon as that happens, we have no control over what happens in the grid ,and manipulating the data in the grid while it's working on it could potentially break a lot of functionality. I'll add this on our request list and will see what can be done.
Indeed when you make the loop threaded you should prevent any user access to the grid to prevent manipulation of data.
The benefit would be that the rest of the application remains responsive and no android crashing and not windows message like 'program is not responding'.
Also you could have a easy way to implement a moving waiting cursor and a cancel option.
In my opinion this would be a basic design approach of all components that potentially have a lengthy process than can block the UI.
Thanks for responding and thinking about this improvement.