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. (Last updated on: June 24, 2019).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Large number of rows in GridGroupingControl with sorting filtering enabled.

Thread ID:





98000 Jan 24,2011 05:45 PM UTC Jan 27,2011 08:49 AM UTC WinForms 1
Tags: GridControl
Administrator [Syncfusion]
Asked On January 24, 2011 05:45 PM UTC

Syncfusion team

What is the best way to handle displaying very large amount of rows (up to 300 000) in a grid (GridGroupingControl) with having sorting, filtering, and formatting(QueryCellStyleInfo event) enabled?

Jisha Joy [Syncfusion]
Replied On January 27, 2011 08:49 AM UTC

Hi Adam,

Please try using below optimization settings to increase the performance in GridGroupingControl.

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

Here are some suggestions for memory foot print:
The performance of loading the data’s in the GridGroupingControl can be improved by making the child table of the Grid to load on demand. This will avoid the performance delay by loading the data’s of the child only when it is expanded or needed.
A property called UseLazyUniformChildListRelation has to be set to true to make the child table load on demand.

gridGroupingControl1.UseLazyUniformChildListRelation = true;

The memory footprint issue can be solved by avoiding all the values to be cache. This can be done by making the CacheRecordValues to false.

gridGroupingControl1.Engine.CacheRecordValues = false;

If you have large data sources and need support for groups and filtered records you can reduce the memory footprint by disabling counters where you do not need in your application.

gridGroupingControl1.Engine.CounterLogic = EngineCounters.YAmount;

The auto sizing calculation for the column can be reduced to some rows so that the performance of the calculation can be increased.
This has to be done by providing the FirstNRecords to the ColumnsMaxLengthStrategy, and specifying the number of record in ColumnMaxLengthFirstNRecords.

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

Please let me know if this helps.



This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Please sign in to access our forum

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

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
Live Chat Icon