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.
Unfortunately, activation email could not send to your email. Please try again.

Large number of rows in GridGroupingControl with sorting filtering enabled.

Thread ID:

Created:

Updated:

Platform:

Replies:

98000 Jan 24,2011 12:45 PM Jan 27,2011 03:49 AM Windows Forms 1
loading
Tags: GridControl
Administrator [Syncfusion]
Asked On January 24, 2011 12:45 PM

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 03:49 AM

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.

Regards,
Jisha


CONFIRMATION

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.

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.

;