We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

What are all the optimization settings to increase the performance in WinForms GridGroupingControl?

Platform: WinForms |
Control: GridGroupingControl


The GridGroupingControl performance increased when large number of data used by the following methods.


this.girdGroupingControl1.InvalidateAllWhenListChanged = false;
this.girdGroupingControl1.AllowedOptimizations = EngineOptimizations.All;
this.girdGroupingControl1.CounterLogic = EngineCounters.YAmount;
this.gridGroupingControl1.UseDefaultsForFasterDrawing = true; // GDI interop drawing, FirstNRecords Summaries used to increase painting performance
this.gridGroupingControl1.TableOptions.ColumnsMaxLengthStrategy = GridColumnsMaxLengthStrategy.FirstNRecords;
this.gridGroupingControl1.TableOptions.ColumnsMaxLengthFirstNRecords = 100;



Me.girdGroupingControl1.InvalidateAllWhenListChanged = False
Me.girdGroupingControl1.AllowedOptimizations = EngineOptimizations.All
Me.girdGroupingControl1.CounterLogic = EngineCounters.YAmount
Me.gridGroupingControl1.UseDefaultsForFasterDrawing = True ' GDI interop drawing, FirstNRecords Summaries used to increase painting performance
Me.gridGroupingControl1.TableOptions.ColumnsMaxLengthStrategy = GridColumnsMaxLengthStrategy.FirstNRecords
Me.gridGroupingControl1.TableOptions.ColumnsMaxLengthFirstNRecords = 100


Here are some suggestions for the memory foot print.

The performance of loading the data can improve by making the child table of the Grid to load on demand. It avoids the performance delay by loading the data of the child only when it is expanded or needed. 
The property UseLazyUniformChildListRelation must set to true to make the child table load on demand.


this.gridGroupingControl1.UseLazyUniformChildListRelation = true;



Me.gridGroupingControl1.UseLazyUniformChildListRelation = True


To solve the memory footprint issue, avoid all the values to be cache. To achieve this set the CacheRecordValues as false.


this.gridGroupingControl1.Engine.CacheRecordValues = false;



Me.gridGroupingControl1.Engine.CacheRecordValues = False

To support for groups and filtered records for large data sources, reduce the memory footprint by disabling the counters where the application is not needed.


this.gridGroupingControl1.Engine.CounterLogic = EngineCounters.YAmount;



Me.gridGroupingControl1.Engine.CounterLogic = EngineCounters.YAmount

To reduce the auto size calculation for the column to some rows, where the performance can be increased. It can be done by providing the FirstNRecords to the ColumnsMaxLengthStrategy and specifying the number of records in ColumnMaxLengthFirstNRecords.



this.gridGroupingControl1.TableOptions.ColumnsMaxLengthStrategy = GridColumnsMaxLengthStrategy.FirstNRecords;
this.gridGroupingControl1.TableOptions.ColumnsMaxLengthFirstNRecords = 50;//the number of records you want checked.



Me.gridGroupingControl1.TableOptions.ColumnsMaxLengthStrategy = GridColumnsMaxLengthStrategy.FirstNRecords
Me.gridGroupingControl1.TableOptions.ColumnsMaxLengthFirstNRecords = 50 'the number of records you want checked.

Reference link: https://help.syncfusion.com/windowsforms/classic/gridgroupingcontrol/performance

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile