This is a migrated thread and some comments may be shown as answers.

RadDataPager & Aggregate function

1 Answer 71 Views
DataPager
This is a migrated thread and some comments may be shown as answers.
Lasse
Top achievements
Rank 2
Lasse asked on 25 Sep 2017, 02:04 PM

Dear support representative,

issue is that my RadGridView aggregation functions seems too slow.
I have RadGridView bound with IQueryable collection and it has sum aggregation function enabled for 4 columns.
RadGridView has also paging enabled, is set to normally load 100 rows per page.
In SQL table there are about 120 thousand rows and it takes about 2 sec. to calculate sum on a float type column.
In RadGridView it is about 8 sec. to load initial page with aggregation and 1 sec. if aggregation is not used.
Note that PersistableRadGridView is derived form RadGridView just to have couple more properties related to saving settings.
Any leads?
Currently working on binding aggregation values to VM's property so I would not need to use the sum.

 
<controls:PersistableRadGridView
    x:Name="RadGridView"
    Style="{StaticResource RadGridViewWithFilters}"
    DockPanel.Dock="Top"
    DataLoadMode="Asynchronous"
    FrozenColumnCount="{Binding FrozenColumns}"
    behaviours:RadGridViewColumnsBinding.ColumnsCollection="{Binding Columns}"
    behaviours:DoubleClickBehavior.Command="{Binding ShowDetailsViewCommand}"
    behaviours:RadGridViewFilterBehavior.Filters="{Binding ColumnFilterDescriptors}"
    behaviours:RadGridViewSortDescriptorsBinding.SortDescriptorsCollection="{Binding ColumnSortDescriptors}"
    ShouldCloseFilteringPopupOnKeyboardFocusChanged="True"
    SelectionMode="Extended"
    IsSynchronizedWithCurrentItem="False"
    IsReadOnly="True"
    Key="{Binding PersistanceKey}"
    RememberFilters="{Binding RememberFilters, Mode=TwoWay}"
    IsRememberFilterDisabled="{Binding DisableRememberFilters, Mode=TwoWay}"
    ItemsSource="{Binding QueryableData}"
    ShowColumnFooters="True">
    <telerik:StyleManager.Theme>
        <telerik:Windows8Theme/>
    </telerik:StyleManager.Theme>
    <telerik:RadGridView.Resources>
        <Style TargetType="{x:Type telerik:GridViewCell}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <ContentPresenter x:Name="PART_ContentPresenter" Margin="{TemplateBinding Control.Padding}"
                                          Content="{TemplateBinding ContentControl.Content}"
                                          ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}"
                                          VerticalAlignment="{TemplateBinding Control.VerticalContentAlignment}"
                                          HorizontalAlignment="{TemplateBinding Control.HorizontalContentAlignment}"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </telerik:RadGridView.Resources>
    <i:Interaction.Behaviors>
        <behaviours:MultiSelectBehavior SelectedItems="{Binding SelectedEntries, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
        <behaviours:RadGridViewRememberFiltersBehavior />
    </i:Interaction.Behaviors>
</controls:PersistableRadGridView>

1 Answer, 1 is accepted

Sort by
0
Stefan
Telerik team
answered on 28 Sep 2017, 11:18 AM
Hi Lasse,

Thank you for the provided code.

After reviewing it, I noticed that the Asynchronous DataLoadMode of RadGridView is used. Generally, this is not recommended. Also, can you please try setting the GroupRenderMode of the control to Flat? Basically, this is the newer virtualization mechanism of the control and has a lot of improvements compared to the older Nested one. More information can be found in the Grouping Modes topic. Is there any difference in the performance of the control? Furthermore, I encourage you to review the Tips and Tricks and Degraded Performance topics on how the performance of the control can be improved.

Best Regards,
Stefan X1
Progress Telerik
Want to extend the target reach of your WPF applications, leveraging iOS, Android, and UWP? Try UI for Xamarin, a suite of polished and feature-rich components for the Xamarin framework, which allow you to write beautiful native mobile apps using a single shared C# codebase.
Tags
DataPager
Asked by
Lasse
Top achievements
Rank 2
Answers by
Stefan
Telerik team
Share this question
or