So I have a grid that contains several thousands of records and about 15 columns. Currently this grid is not paged and has some aggregate totals (custom) on several of the columns. When the calculations occur I am getting the items collection from the grid itself.
var items = this.ParentOfType<RadGridView>().Items
I then loop through each item and calculate my totals. It works perfectly.
Except the performance on the grid is horrible. My boss wants to add more columns to the grid and we are getting larger customers. It seems like the only solution is to go to a paging grid. This solves the performance issues, but now my aggregate functions are not working correctly when the grid is filtered.
Take for example a paging grid with a it's ItemSource bound to a DataPager. The datapager has a source that consists of 1,000 records and is set to page on 100 items. The grid shows the first 100 records on page 1 of 10 pages. The user then applies a column filter that has 250 results. The grid now is viewing the results for page 1 (of 3). I can see by the ItemCount property on the DataPager that there is 250 records. But I cannot access those records. I have access to the full list of 1,000 via the Source property and the filtered list of data FOR PAGE 1 in PagedSource. But I need to parse all 250 records to properly update me column aggregates.
Is there a solution?
var items = this.ParentOfType<RadGridView>().Items
I then loop through each item and calculate my totals. It works perfectly.
Except the performance on the grid is horrible. My boss wants to add more columns to the grid and we are getting larger customers. It seems like the only solution is to go to a paging grid. This solves the performance issues, but now my aggregate functions are not working correctly when the grid is filtered.
Take for example a paging grid with a it's ItemSource bound to a DataPager. The datapager has a source that consists of 1,000 records and is set to page on 100 items. The grid shows the first 100 records on page 1 of 10 pages. The user then applies a column filter that has 250 results. The grid now is viewing the results for page 1 (of 3). I can see by the ItemCount property on the DataPager that there is 250 records. But I cannot access those records. I have access to the full list of 1,000 via the Source property and the filtered list of data FOR PAGE 1 in PagedSource. But I need to parse all 250 records to properly update me column aggregates.
Is there a solution?