This question is locked. New answers and comments are not allowed.
Hi,
I have a GridView that can return anything from 500 to 10,000 records. When the results are returned from the database I apply a default grouping on 2 of the columns, both are string values. Up to about 5000 records this works fine. After that the performance deteriorates rapidly. Is this just a limitation of the GridView or can I do something to improive the situation?
XAML for the Grid is below. I am using version 2012.3.1129.1050.
I have a GridView that can return anything from 500 to 10,000 records. When the results are returned from the database I apply a default grouping on 2 of the columns, both are string values. Up to about 5000 records this works fine. After that the performance deteriorates rapidly. Is this just a limitation of the GridView or can I do something to improive the situation?
XAML for the Grid is below. I am using version 2012.3.1129.1050.
<telerik:RadGridView ItemsSource="{Binding Path=Cases}" IsBusy="{Binding Path=Loading}" Style="{StaticResource RadGridViewStyle}" AutoExpandGroups="False"> <telerik:RadGridView.GroupDescriptors> <telerik:ColumnGroupDescriptor DisplayContent="{StaticResource ClientTitle}"> <telerik:ColumnGroupDescriptor.Column> <Binding Path="Columns[3]"> <Binding.RelativeSource> <RelativeSource Mode="FindAncestor" AncestorType="telerik:RadGridView" AncestorLevel="1" /> </Binding.RelativeSource> </Binding> </telerik:ColumnGroupDescriptor.Column> </telerik:ColumnGroupDescriptor> <telerik:ColumnGroupDescriptor DisplayContent="{StaticResource CaseTypeTitle}"> <telerik:ColumnGroupDescriptor.Column> <Binding Path="Columns[4]"> <Binding.RelativeSource> <RelativeSource Mode="FindAncestor" AncestorType="telerik:RadGridView" AncestorLevel="1" /> </Binding.RelativeSource> </Binding> </telerik:ColumnGroupDescriptor.Column> </telerik:ColumnGroupDescriptor> </telerik:RadGridView.GroupDescriptors> <telerik:RadGridView.SelectedItem> <Binding Path="SelectedCase" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" /> </telerik:RadGridView.SelectedItem> <telerik:RadGridView.Columns> <helpers:RowNumberGridViewColumn /> <telerik:GridViewDataColumn Header="{StaticResource CaseNumber}" Width="110" IsFilterable="True" IsReorderable="True" IsResizable="True" IsSortable="True"> <telerik:GridViewDataColumn.AggregateFunctions> <telerik:CountFunction Caption="Count: " /> </telerik:GridViewDataColumn.AggregateFunctions> <telerik:GridViewDataColumn.DataMemberBinding> <Binding Path="MECaseNumber" StringFormat="000000000" /> </telerik:GridViewDataColumn.DataMemberBinding> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="{StaticResource Client_Reference}" Width="*" IsFilterable="True" IsReorderable="True" IsResizable="True" IsSortable="True"> <telerik:GridViewDataColumn.DataMemberBinding> <Binding Path="ClientReference" TargetNullValue="None" /> </telerik:GridViewDataColumn.DataMemberBinding> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="{StaticResource ClientTitle}" DataMemberBinding="{Binding Path=RelationshipsSummary.ClientName}" Width="*" IsFilterable="True" IsReorderable="True" IsResizable="True" IsSortable="True" /> <!-- CaseType is needed on the client anyway to calculate IsCurrent. --> <telerik:GridViewDataColumn Header="{StaticResource CaseTypeTitle}" DataMemberBinding="{Binding Path=CaseType.Name}" Width="*" IsFilterable="True" IsReorderable="True" IsResizable="True" IsSortable="True" /> <!-- CaseStatus is needed on the client anyway to calculate IsCurrent. --> <telerik:GridViewDataColumn Header="General Status" DataMemberBinding="{Binding Path=CaseStatus.GeneralStatus}" Width="*" MinWidth="110" IsFilterable="True" IsReorderable="True" IsResizable="True" IsSortable="True" /> <telerik:GridViewDataColumn Header="{StaticResource Country}" MinWidth="112" Width="*" IsFilterable="True" IsReorderable="True" IsResizable="True" IsSortable="True"> <telerik:GridViewDataColumn.DataMemberBinding> <Binding Path="RelationshipsSummary.Jurisdiction" TargetNullValue="{StaticResource CellNull}" /> </telerik:GridViewDataColumn.DataMemberBinding> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="{StaticResource ApplicationNumber}" Width="*" MinWidth="120" IsFilterable="True" IsReorderable="True" IsResizable="True" IsSortable="True"> <telerik:GridViewDataColumn.DataMemberBinding> <Binding Path="RelationshipsSummary.ApplicationNumber" TargetNullValue="{StaticResource CellNull}" /> </telerik:GridViewDataColumn.DataMemberBinding> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn x:Name="IsCurrentColumn" UniqueName="IsCurrent" DataType="system:Boolean" DataMemberBinding="{Binding Path=IsCurrent}" IsFilterable="True" IsVisible="False" /> </telerik:RadGridView.Columns> </telerik:RadGridView>