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

Telerik Rad Grid Performance Issues

6 Answers 287 Views
UI for ASP.NET AJAX in ASP.NET MVC
This is a migrated thread and some comments may be shown as answers.
Hema Raju
Top achievements
Rank 1
Hema Raju asked on 26 Oct 2010, 03:21 PM

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.

6 Answers, 1 is accepted

Sort by
0
Hema Raju
Top achievements
Rank 1
answered on 26 Oct 2010, 03:24 PM
Please treat this as urgent..  We need a fix for this issues and crucial for production.

Thanks & Regards
0
Tsvetoslav
Telerik team
answered on 26 Oct 2010, 06:34 PM
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
0
Hema Raju
Top achievements
Rank 1
answered on 27 Oct 2010, 05:25 AM

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

0
Tsvetoslav
Telerik team
answered on 27 Oct 2010, 06:03 PM
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
0
Chakrapani
Top achievements
Rank 1
answered on 18 Apr 2012, 07:34 AM
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>
0
Tsvetoslav
Telerik team
answered on 18 Apr 2012, 01:09 PM
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.
Tags
UI for ASP.NET AJAX in ASP.NET MVC
Asked by
Hema Raju
Top achievements
Rank 1
Answers by
Hema Raju
Top achievements
Rank 1
Tsvetoslav
Telerik team
Chakrapani
Top achievements
Rank 1
Share this question
or