we''re using both grids in an application that is hooked up to a financial market data source with high frequency of updates during peak periods. sometimes 50 row updates/ second.
i''ve noticed that the databound grid performs significantly better than the grouping grid.
1) can you confrim this test of ours.
2) do you have any resources that show me how to add my own summary row(s) to a databound grid instead of using the grouping grid.. i.e. we don''t use the drag/drop feature of the grouping and just use it for summary display.
ADAdministrator Syncfusion Team November 16, 2004 04:44 PM
The GridGroupingControl does have additional overhead to manage grouping, expressions, filtering and summaries.
You should try your grouping sample with teh 3.0 code base as that has some performance inmprovements.
Here is a KB that shows how you can add summaries to a GridDataBoundGrid. http://www.syncfusion.com/Support/article.aspx?id=10398
RFRandy FurtadoNovember 17, 2004 01:07 PM
can you tell me if there are any events i can turn off that would make my grouping grid respond better.
here are some properties of the app.
1) the grid is read only. we don''t have users typing into the grid.
2) we don''t use the drag and drop to provide grouping. it is done programatically.
3) we do our own summaries.
it would help if some internal events are being fired could be turned off.
>The GridGroupingControl does have additional overhead to manage grouping, expressions, filtering and summaries.
>You should try your grouping sample with teh 3.0 code base as that has some performance inmprovements.
>Here is a KB that shows how you can add summaries to a GridDataBoundGrid. http://www.syncfusion.com/Support/article.aspx?id=10398
ADAdministrator Syncfusion Team November 18, 2004 03:54 PM
take a look at the GroupingPerf example.
General optimizations you could use are:
- Strategic use of Table.TableDirty = true before making lots of changes to underlying data. This avoids forcing the grid to insert records in realtime.
- Use of groupingControl.TableControl.BeginUpdate / EndUpdate.
- Call Update at the right time after making a couple of changes.
- Don''t use DataView, instead use DataTableWrapperList
- Handling the SourceListListChanged event and set ShouldInvalidateCounters, ShouldInvalidateSummaries, ShouldResetCurrentRecord as necessary.
- Use of GridGroupingControl.InvalidateAllWhenListChanged. This informs the grid to do real-time updates/inserts of records and scroll or simply invalidate the whole view. Check out also grid.TableControl.OptimizeInsertRemoveCells.
- Check out GroupingPerf example and tailor the GridGroup and GridChildTable class to specific needs of project and reduce memory overhead.