How to optimize Telerik RadListView?

4 posts, 0 answers
  1. katcard
    katcard avatar
    4 posts
    Member since:
    Jul 2011

    Posted 09 Jul 2011 Link to this post

    Hi, i'm developing a RadListView with a pagination performed by a stored procedure that calculates: page index and items loaded within the RadListView. I've noticed that navigation of the RadListView increase the browser's memory process for each async postback.

    How can i reduce this memory unnecessarily occupied?

  2. Daniel
    Admin
    Daniel avatar
    4943 posts

    Posted 14 Jul 2011 Link to this post

    Hello Katcard,

    I'm afraid there is no easy way to guess what causes this problem judging only by the provided description. Can you post your markup so that we can try to reproduce this?

    Regards,
    Daniel
    the Telerik team

    Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. katcard
    katcard avatar
    4 posts
    Member since:
    Jul 2011

    Posted 14 Jul 2011 Link to this post

    I try to explain. There are a master page that contains the search RadControls and a content page that contains RadListViews. There are two RadListView (radListDetail and radListImages). Two ImageButton (ibtDetail and ibtImages) switches respectively the visibility of two aspPanel (panDetailContent and panImagesContent) that contains RadListViews. RadScriptManagerProxy ajaxify the content page:

    <telerik:RadAjaxManagerProxy ID="radAjaxManagerContent" runat="server">
            <AjaxSettings>            
                <telerik:AjaxSetting AjaxControlID="ibtDetail">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="panDetailContent" />
                        <telerik:AjaxUpdatedControl ControlID="panImagesContent" />                    
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="ibtImages">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="panDetailContent" />
                        <telerik:AjaxUpdatedControl ControlID="panImagesContent" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="radListDetail">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="radListDetail" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="radListImages">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="radListImages" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
    </telerik:RadAjaxManagerProxy>


    The radListDetail (one of the two radListViews):
    <telerik:RadListView ID="radListDetail" runat="server" AllowPaging="True"
                        AllowCustomPaging="true" PageSize="6" ItemPlaceholderID="plhDetail"
                        CanRetrieveAllData="false" DataKeyNames="Code">
                        <LayoutTemplate>
                            <div class="elenco_paginazione_top">
                                <telerik:RadDataPager runat="server" PagedControlID="radListDetail" PageSize="6">
                                    <Fields>
                                        <telerik:RadDataPagerButtonField FieldType="Prev" />
                                        <telerik:RadDataPagerButtonField FieldType="Numeric" />
                                        <telerik:RadDataPagerButtonField FieldType="Next" />
                                        <telerik:RadDataPagerTemplatePageField>
                                            <PagerTemplate>
                                                <div class="to_right">
                                                    <asp:Label runat="server" Text="Total Number:" />
                                                    <asp:Label runat="server" Text="<%# Container.Owner.TotalRowCount%>" />
                                                </div>
                                            </PagerTemplate>
                                        </telerik:RadDataPagerTemplatePageField>
                                    </Fields>
                                </telerik:RadDataPager>
                            </div>
                            <div id="elenco_dettaglio">
                                <asp:PlaceHolder ID="plhDetail" runat="server" />
                            </div>
                            <div class="elenco_paginazione_bottom">
                                <telerik:RadDataPager runat="server" PagedControlID="radListDetail" PageSize="6">
                                    <Fields>
                                        <telerik:RadDataPagerButtonField FieldType="Prev" />
                                        <telerik:RadDataPagerButtonField FieldType="Numeric" />
                                        <telerik:RadDataPagerButtonField FieldType="Next" />
                                        <telerik:RadDataPagerTemplatePageField>
                                            <PagerTemplate>
                                                <div class="to_right">
                                                    <asp:Label runat="server" Text="Total Number:" />
                                                    <asp:Label runat="server" Text="<%# Container.Owner.TotalRowCount%>" />
                                                </div>
                                            </PagerTemplate>
                                        </telerik:RadDataPagerTemplatePageField>
                                    </Fields>
                                </telerik:RadDataPager>
                            </div>
                        </LayoutTemplate>
                        <ItemTemplate>
                            <div>
    ..
    </div>
                        </ItemTemplate>
                        <EmptyDataTemplate>
                            <div>
                               ..
                            </div>
                        </EmptyDataTemplate>
                    </telerik:RadListView>


    Search is performed by a stored procedure that accepts some input parameters including the PageIndex and the PageSize of the radListView. The first time:
    int? elements = 0;
       //search begins
       var source = this.Search(parameters, this.radListDetail.CurrentPageIndex, this.radListDetail.PageSize, out elements);
       this.radListDetail.VirtualItemCount = elements.Value;
       this.radListDetail.DataSource = source;
       this.radListDetail.DataBind();

    The next time the search is managed by NeedDataSource:
       int? elements = 0;
       //search begins
       var source = this.Search(parameters, this.radListDetail.CurrentPageIndex, this.radListDetail.PageSize, out elements);
       this.radListDetail.VirtualItemCount = elements.Value;
       this.radListDetail.DataSource = source;



  5. Daniel
    Admin
    Daniel avatar
    4943 posts

    Posted 19 Jul 2011 Link to this post

    Hello Katcard,

    I understand your scenario now, but still I don't know how to reproduce the problem - your setup looks pretty standard so I would recommend that you try to find the problematic component by removing the elements on your page one by one. For example - you can first remove the pagers, then you can try to simplify the ItemTemplate contents, then turn off AJAX and so on until you find what causes the problem.

    Kind regards,
    Daniel
    the Telerik team

    Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

Back to Top