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

Thanks & Regards
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

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
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

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>
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