Articles in this section

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

Performance


The WinForms GridGroupingControl performance increased when a large amount of data was used by the following methods.


C#

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;

VB

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 footprint.

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.


C#

this.gridGroupingControl1.UseLazyUniformChildListRelation = true; 

VB

Me.gridGroupingControl1.UseLazyUniformChildListRelation = True 

To solve the memory footprint issue, avoid all values being cached. To achieve this set the CacheRecordValues as false.


C#

this.gridGroupingControl1.Engine.CacheRecordValues = false; 

VB

Me.gridGroupingControl1.Engine.CacheRecordValues = False

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

C#

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

VB

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.


 C#

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

VB

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

Reference Link: Getting Started

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied