Telerik Rad Grid Performance Issues

Thread is closed for posting
7 posts, 0 answers
  1. Hema Raju
    Hema Raju avatar
    13 posts
    Member since:
    Dec 2009

    Posted 26 Oct 2010 Link to this post

    Currently we are using the Telerik RadGrid control to shows the data which is stored in the MOSS custom list. The volume of the data is around 2000+ . [The data may increase as the list is the task list]. The RadContorl is placed on the ASP.Net user control(.ascx page) and the same user control is used in the MOSS site as the custom web part.

    When we try to open the page which contains this web part, it is taking long time(about 1 Minute) to load the page. And it is taking about 30 to 40 seconds to group and sort the data.

     

    Data Fetch Login –

     

    1.       Get all the records from the Custom List using SharePoint APIs and store it in the DataTable object  

    2.       Store the DataTable in the Session object for further data operations on Grid

     

    The Properties set for the RadGrid are as follows

     

    1.       Auto Generate Columns = True

    2.       Allow Pagination = False

    3.       Allow Filtering = False

    4.       Allow Sorting = True

    5.       Allow Grouping = True

    6.       Allow Client Site Column Reordering = True

     

    As per Annadatha’s suggestions  we disabled the Grouping and Sorting  option to check the performance, but find no success. We even tried using the GridBoundColumn (For testing purpose) and disabled “AutoGenrateColumn=False”. But no improvement in page load time.

     

    The browser used by customer – IE6 / IE7. We also used IE8 for testing, the performance is bit good in IE8 as compared with IE6 or IE7.

     

    And the execution time  taken is

    Data Fetch – About 1 Sec

    Data Bind – About 0.3 Sec

    Page Rendering Time – 30 Sec

     

    Could you please let us know what could be the issue.

  2. Hema Raju
    Hema Raju avatar
    13 posts
    Member since:
    Dec 2009

    Posted 26 Oct 2010 Link to this post

    Please treat this as urgent..  We need a fix for this issues and crucial for production.

    Thanks & Regards
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Tsvetoslav
    Admin
    Tsvetoslav avatar
    1823 posts

    Posted 26 Oct 2010 Link to this post

    Hello Hema,

    I suspect that the cause of the issue is the large number of records. Could you switch the grid's paging on and see if it makes any difference?

    Greetings,
    Tsvetoslav
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  5. Hema Raju
    Hema Raju avatar
    13 posts
    Member since:
    Dec 2009

    Posted 27 Oct 2010 Link to this post

    Hi Tsvetoslav,
    Thanks for the prompt reply.

    Yes it has more than 2000 records at present and might be increasing over the period of time, we tested with pagination the performance is fine, but these are the issues by using pagination

    • If you do pagination and do the group by, user doesn’t know where the next group starts, he has to click all the pages – this is the major issue, customer doesn’t want it
    • We also used Virtual Scrolling with client bind web control, but when you do the grouping that displays the grouping only to the pagination applied (rather than entire record set)

    Are you suggesting that if more records then it has to go with pagination? Is there any other control or fix can be provided for the above mentioned issues

    Thanks in advance

    Regards,
    Hemaraju

  6. Tsvetoslav
    Admin
    Tsvetoslav avatar
    1823 posts

    Posted 27 Oct 2010 Link to this post

    Hello Hema,

    I am afraid that the large number of items is the culprit. Please, go through the following help article and all the related topics under the Performance Tips and Tricks (here). The implementation of some of those should provide some alleviation to the problem.

    Regards,
    Tsvetoslav
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  7. Chakrapani
    Chakrapani avatar
    7 posts
    Member since:
    Aug 2011

    Posted 18 Apr 2012 Link to this post

    Hi Telerik Team,

    I'm facing a problem with radgrid loading data and it is taking approx a minute even less no.of records in number 150. So, i need to load data with 2 or 3 sec's.

    and
    Code:
    <telerik:RadGrid ShowGroupPanel="true" AutoGenerateColumns="false" ID="GrdJobList"
                    Skin="Vista" AllowFilteringByColumn="false" AllowSorting="True" ShowFooter="True"
                    runat="server" GridLines="None" AllowPaging="true" PageSize="10" OnSelectedIndexChanged="GrdJobList_SelectedIndexChanged">
                    <PagerStyle Mode="NextPrevNumericAndAdvanced" AlwaysVisible="true" />
                    <ExportSettings HideStructureColumns="True" FileName="ServiceSummaryJobs" ExportOnlyData="true"
                        IgnorePaging="true" OpenInNewWindow="true" />
                    <MasterTableView ShowGroupFooter="true" AllowMultiColumnSorting="true" GroupLoadMode="Server"
                        GroupsDefaultExpanded="true" Name="MainTable"
                        TableLayout="Fixed">
                        <Columns>
                            <telerik:GridTemplateColumn UniqueName="RadioButtonTemplateColumn" HeaderStyle-Width="30px">
                                <ItemTemplate>
                                    <asp:RadioButton id="RadioButton1" OnCheckedChanged="RadioButton1_CheckedChanged"
                                        AutoPostBack="True" runat="server">
                                    </asp:RadioButton>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridButtonColumn ButtonType="ImageButton" ImageUrl="../../Files/Images/icons/icoView.gif"
                                UniqueName="ViewButton" CommandName="ViewCommand" HeaderStyle-Width="30px">
                            </telerik:GridButtonColumn>
                            <telerik:GridButtonColumn ButtonType="ImageButton" ImageUrl="../../Files/Images/icons/icoAuthorise.gif"
                                UniqueName="AuthoriseButton" CommandName="AuthoriseCommand" HeaderStyle-Width="25px">
                            </telerik:GridButtonColumn>
                            <telerik:GridBoundColumn DataField="Id" HeaderText="Id" HeaderStyle-Width="60px"
                                FilterControlWidth="20px">
                            </telerik:GridBoundColumn>
                            <%-- <telerik:GridHyperLinkColumn DataTextField="Id" HeaderText="Job Id" HeaderStyle-Width="60px" FilterControlWidth="20px" DataNavigateUrlFields="Id" DataNavigateUrlFormatString="javascript:openViewJobPopUp('{0}');" >
                            </telerik:GridHyperLinkColumn>
                            <telerik:GridTemplateColumn HeaderText="Job Id" HeaderStyle-Width="60px" FilterControlWidth="20px">
                                <ItemTemplate>                              
                                        <dns:DotNetSmithPopBtn CommandName="popupViewJobCommand" ID="btnPopViewJob" BackColor="WhiteSmoke" ForeColor="blue" runat="server" Text='<%#Eval("Id")%>' PopupURL="~/Pages/Jobs/PopupQuickJobInfo.aspx" PopupURLParams='<%# "JobId="+Eval("Id").ToString()%>'  Height="22px" Width="40px" />                              
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>  --%>
                            <telerik:GridDateTimeColumn DataField="ReceivedDate" HeaderText="Worked On" DataFormatString="{0:dd-MMM-yyyy}"
                                HeaderStyle-Width="70px">
                            </telerik:GridDateTimeColumn>
                            <%-- <telerik:GridBoundColumn DataField="ReceivedDate" HeaderText="Worked On" DataFormatString="{0:dd-MMM-yyyy}"
                                HeaderStyle-Width="130px">
                            </telerik:GridBoundColumn>--%>
                            <telerik:GridBoundColumn DataField="ContactName" HeaderText="Customer" SortExpression="ContactName"
                                HeaderStyle-Width="100px">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="PersonName" HeaderText="Requested By" HeaderStyle-Width="200px"
                                Visible="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="SiteName" HeaderText="Site" SortExpression="SiteName"
                                UniqueName="SiteName" HeaderStyle-Width="100px">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="LocationDesc" HeaderText="Location" SortExpression="LocationDesc"
                                UniqueName="LocationDesc" HeaderStyle-Width="200px" Visible="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="SerialNo" HeaderText="Serial No" SortExpression="SerialNo"
                                HeaderStyle-Width="90px">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="CustomerAssetNo" HeaderText="Asset No" SortExpression="CustomerAssetNo"
                                HeaderStyle-Width="90px" Visible="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="EquipmentNo" HeaderText="Eqp No" SortExpression="EquipmentNo"
                                HeaderStyle-Width="70px" Visible="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="ModelNo" HeaderText="Model No" SortExpression="ModelNo"
                                FilterControlWidth="60px" HeaderStyle-Width="70px">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="PurchaseOrderNo" HeaderText="Purchase Order"
                                FilterControlWidth="60px" SortExpression="PurchaseOrderNo" HeaderStyle-Width="70px">
                            </telerik:GridBoundColumn>
                            <telerik:GridTemplateColumn HeaderText="Job Total (Ex-GST)" HeaderStyle-Width="70px">
                                <ItemTemplate>
                                    <asp:Label Id="lblJobTotal" runat="server" Text='<%# getJobTotalExcl(Eval("Id")) %>'>
                                    </asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridBoundColumn DataField="JobStatus" HeaderText="Status" SortExpression="JobStatus"
                                FilterControlWidth="120px" HeaderStyle-Width="100px">
                            </telerik:GridBoundColumn>
                            <telerik:GridButtonColumn ButtonType="ImageButton" ImageUrl="../../Files/Images/icons/icoWarranty.gif"
                                UniqueName="CalculateWarrantyButton" CommandName="CalculateWarrantyCommand" HeaderStyle-Width="30px">
                            </telerik:GridButtonColumn>
                        </Columns>
                    </MasterTableView>
                    <ClientSettings AllowDragToGroup="true">
                        <Selecting AllowRowSelect="True" UseClientSelectColumnOnly="True" />
                        <Scrolling AllowScroll="True" UseStaticHeaders="True"></Scrolling>
                        <Resizing AllowColumnResize="true" />
                    </ClientSettings>
                    <GroupingSettings ShowUnGroupButton="true" />
                </telerik:RadGrid>
  8. Tsvetoslav
    Admin
    Tsvetoslav avatar
    1823 posts

    Posted 18 Apr 2012 Link to this post

    Hello Hema,

    Could you test your RadGrid outside of DNN and let us know if there is any difference in the performance?


    Greetings,
    Tsvetoslav
    the Telerik team
    If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
Back to Top
UI for ASP.NET Ajax is Ready for VS 2017