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

smalll 25 rom rad grid (Very slow load performance)

6 Answers 39 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Brian Taylor
Top achievements
Rank 1
Brian Taylor asked on 02 Feb 2011, 06:44 PM

Hi,


I had a small RadGrid with 25 columns and 17 rows.
It took 11.5 secounds for the .databind to complete after the data sourse selected event fired.

The grid has 17 coulms set to not visible.

6 Answers, 1 is accepted

Sort by
0
Brian Taylor
Top achievements
Rank 1
answered on 03 Feb 2011, 01:22 PM
The issue was that the 17 columns that were not visible were databound and the fields did not exist in the SQL statement.Adding " Null As u4" .. ", Null As u20" to the SQL statement fixed this.I would expect the grid to fail to bind if the field was not in the datasource, is this a bug?

If that is not a bug, the performance hit it causes must be a bug.
0
Iana Tsolova
Telerik team
answered on 08 Feb 2011, 02:01 PM
Hello Brian,

I followed your steps but was not able to replicate the performance issue. Can you elaborate a bit more on your scenario? What are the grid columns and how do you hide them, setting the Visible or the Display property to false?

Additionally, RadGrid displays/has the columns you defined into its Columns collection and displays what is coming from its data source. If there is a column bound to non-existing data field, the column for it is created but does not display any data.

Regards,
Iana
the Telerik team
Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.
0
Najid Hanif
Top achievements
Rank 2
answered on 28 Aug 2014, 07:29 PM
I just ran into this issue as well. Spent most of the morning tracking it down to this. When a column is defined in the grid but the DataField does not exist in the datasource it takes a massive performance hit. 75 rows takes about 15 secs and the SQL query only takes .115 milli secs.  I had a grid with a column Display="false" and the DataField had a typo so it was hard to know what was going on.

Here is how my grid and page is defined if that helps. I would much rather have had the grid produce an error than do what it is doing now. If this is a 'feature' then it needs to way faster.

<%@ Page Title="Release Queue" Language="C#" MasterPageFile="~/Shared/EAM.Master" AutoEventWireup="true" CodeBehind="ReleaseQueue2.aspx.cs" Inherits="EAM_Site.ReleaseQueue2" %>
<%@ Register Src="Shared/MyOpenIssues.ascx" TagName="MyOpenIssuesGrid_UC" TagPrefix="uc" %>
<asp:Content ID="Content1" ContentPlaceHolderID="headerInc" runat="server"></asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="BodyPlaceHolder" runat="server">
 
 
 
 
 
    <div style="margin-top: 5px; float: left; width:1200px;">
        <table style="width:1200px;">
            <tr>
                <td>
                    <table style="width:400px;">
                        <tr>
                            <td colspan="3" style="position: relative; top: -20px;">
                                <span>
                                    <telerik:RadButton ID="RadButtonViewPQ" runat="server" NavigateUrl="~/PqQueue.aspx"  Text="PreQual Queue" AutoPostBack="False"  CausesValidation="False" Width="100px" ButtonType="LinkButton" ></telerik:RadButton>
                                    <telerik:RadButton ID="RadButtonReleaseQueue" runat="server" NavigateUrl="~/ReleaseQueue2.aspx"  Text="Release Queue" AutoPostBack="False"  CausesValidation="False" Width="100px" ButtonType="LinkButton" BorderColor="Red" BorderStyle="Dotted" BorderWidth="2"></telerik:RadButton>
                                    <telerik:RadButton ID="RadButtonAllRequests" runat="server" NavigateUrl="~/AllRequestsQueue.aspx"  Text="All Requests" AutoPostBack="False"  CausesValidation="False" Width="100px" ButtonType="LinkButton"></telerik:RadButton>
                                </span>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <telerik:RadComboBox ID="AssignedToComboBox" runat="server" AutoPostBack="True" Label="Assigned To:" Width="150px" Height="125px" AppendDataBoundItems="true"></telerik:RadComboBox>
                            </td>
                            <td>
                                <telerik:RadComboBox ID="StatusListComboBox" runat="server" AutoPostBack="True" Label="Status:"      Width="150px" Height="125px" AppendDataBoundItems="true"></telerik:RadComboBox>
                            </td>
                        </tr>
                        <tr>
                            <td class="Office2010Text" colspan="3">
                                <asp:Literal ID="CountControl" runat="server" Text="" ></asp:Literal>
                            </td>
                        </tr>
 
                    </table>
 
                </td>
                <td>
 
                    <table style="width:600px;">
                        <tr>
                            <td>
 
                                <uc:MyOpenIssuesGrid_UC id="MyOpenIssuesGrid_ID" runat="server"/>
 
                            </td>
                        </tr>
 
                    </table>
 
                </td>
            </tr>
        </table>
     
    </div>
 
    <br/>  <%--OnItemCreated="QGrid_ItemCreated"--%>
    <div style="margin-top: 10px; display:block;">
        <br />
    <telerik:RadGrid ID="RMQueue2Grid" runat="server" CellSpacing="0" DataSourceID="RM_GetGenBSInfoForRMQueue_DS" Width="100%"
        AutoGenerateColumns="False" AllowFilteringByColumn="True" AllowSorting="True" EnableHeaderContextMenu="True"
        EnableHeaderContextFilterMenu="True" EnableHeaderContextAggregatesMenu="True" MasterTableView-AllowPaging="True"
        AllowPaging="True" GridLines="None" PageSize="1000" >
        <ClientSettings AllowDragToGroup="True"></ClientSettings>
 
        <MasterTableView CommandItemDisplay="Top">
            <PagerStyle AlwaysVisible="true"/>
            <CommandItemSettings ShowAddNewRecordButton="False" ShowRefreshButton="True"></CommandItemSettings>
            <ColumnGroups>
                <telerik:GridColumnGroup HeaderText="Release" Name="HeaderRelease" HeaderStyle-HorizontalAlign="Center"></telerik:GridColumnGroup>
                <telerik:GridColumnGroup HeaderText="Review Tasks" Name="HeaderTasks" HeaderStyle-HorizontalAlign="Center"></telerik:GridColumnGroup>
                <telerik:GridColumnGroup HeaderText="Automation Form" Name="HeaderAutomationForm" HeaderStyle-HorizontalAlign="Center" ParentGroupName="HeaderTasks"></telerik:GridColumnGroup>
                <telerik:GridColumnGroup HeaderText="Request Info" Name="HeaderRequestInfo" HeaderStyle-HorizontalAlign="Center"></telerik:GridColumnGroup>
            </ColumnGroups>
 
            <Columns>
                <telerik:GridBoundColumn DataField="RM_ID" DataType="System.Int32" Display="false" ReadOnly="True" UniqueName="RM_ID"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="LCM_ID" DataType="System.Int32" Display="false" ReadOnly="True" UniqueName="LCM_ID"></telerik:GridBoundColumn>
                <telerik:GridHyperLinkColumn DataNavigateUrlFields="RM_ID" DataNavigateUrlFormatString="~/ReleaseSoftwareRequirements.aspx?RM_ID={0}&Tab=EAM" DataTextField="AssetDescription" HeaderText="Application" SortExpression="AssetDescription" UniqueName="SWREQsURL" AllowSorting="True" ColumnGroupName="HeaderRequestInfo" Target="_blank"></telerik:GridHyperLinkColumn>
                <telerik:GridBoundColumn DataField="Version" HeaderText="Version" SortExpression="Version" UniqueName="Version" ColumnGroupName="HeaderRequestInfo"></telerik:GridBoundColumn>
                <telerik:GridHyperLinkColumn AllowFiltering="False" DataNavigateUrlFields="LCM_ID" DataNavigateUrlFormatString="http://lcm.us.bank-dns.com/ASPX_Pages/LCM_Main_Links/Application_Detail/Application_Detail_View.aspx?upid={0}" DataTextField="LinkID" HeaderText="LinkID" SortExpression="LinkID" Target="_blank" UniqueName="LCMURL" ColumnGroupName="HeaderRequestInfo"></telerik:GridHyperLinkColumn>
                <telerik:GridBoundColumn Display="False" DataField="FullName" HeaderText="Assigned To" SortExpression="FullName" UniqueName="FullName" ColumnGroupName="HeaderRequestInfo"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn Display="False" DataField="Status" HeaderText="Status" SortExpression="Status" UniqueName="Status" ColumnGroupName="HeaderRequestInfo"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn Display="true" DataField="NumberNeededFor" AllowFiltering="False" HeaderText="#" SortExpression="NumberNeededFor" UniqueName="NumberNeededFor" ColumnGroupName="HeaderRequestInfo" HeaderStyle-Width="50px"></telerik:GridBoundColumn>
                <telerik:GridHyperLinkColumn AllowFiltering="True"  DataNavigateUrlFields="email,AssetDescription,Version" DataNavigateUrlFormatString="mailto:{0}?Subject={1} - {2}"  DataTextField="NameFirstMiLast" HeaderText="Requestor" SortExpression="NameFirstMiLast" Target="_blank" UniqueName="Requestor" ColumnGroupName="HeaderRequestInfo"></telerik:GridHyperLinkColumn>
                <telerik:GridBoundColumn DataField="Request_ID" HeaderText="Request_ID" SortExpression="Request_ID" UniqueName="Request_ID" ColumnGroupName="HeaderRequestInfo" FilterControlWidth="50px"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn Display="False" DataField="Date_Opened" HeaderText="Opened" DataType="System.DateTime" DataFormatString="{0:d}" ReadOnly="True" UniqueName="Date_Opened" SortExpression="Date_Opened" ColumnGroupName="HeaderRequestInfo"></telerik:GridBoundColumn>
 
                <telerik:GridBoundColumn Display="True" DataField="ProcessName" HeaderText="ProcessName" SortExpression="ProcessName" UniqueName="ProcessName" ColumnGroupName="HeaderRequestInfo" FilterControlWidth="50px"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn Display="True" DataField="GroupName" HeaderText="GroupName" SortExpression="GroupName" UniqueName="GroupName" ColumnGroupName="HeaderRequestInfo" FilterControlWidth="50px"></telerik:GridBoundColumn>
 
 
                <telerik:GridBoundColumn Display="False" DataField="WEQAssignedDate" HeaderText="WEQAssignedDate" DataType="System.DateTime" DataFormatString="{0:d}" ReadOnly="True" UniqueName="WEQAssignedDate" SortExpression="WEQAssignedDate" ColumnGroupName="HeaderRequestInfo"></telerik:GridBoundColumn>
 
 
                <telerik:GridHyperLinkColumn DataNavigateUrlFields="RM_ID" AllowFiltering="False" DataNavigateUrlFormatString="~/EmailsSentForFormHistory.aspx?RM_ID={0}" DataTextField="SentForFormCnt" HeaderText="#" SortExpression="SentForFormCnt" UniqueName="SentForFormCnt" AllowSorting="True" ColumnGroupName="HeaderAutomationForm" Target="_Blank"></telerik:GridHyperLinkColumn>
 
                <telerik:GridCheckBoxColumn DataField="FormIsComplete" DataType="System.Boolean" HeaderText="Done" SortExpression="FormIsComplete" UniqueName="FormIsComplete" ColumnGroupName="HeaderAutomationForm"></telerik:GridCheckBoxColumn>
                <telerik:GridCheckBoxColumn DataField="TestersAreComplete" DataType="System.Boolean" HeaderText="Testers" SortExpression="TestersAreComplete" UniqueName="TestersAreComplete" ColumnGroupName="HeaderTasks"></telerik:GridCheckBoxColumn>
                <telerik:GridCheckBoxColumn DataField="EAMFormIsComplete" DataType="System.Boolean" HeaderText="EAM" SortExpression="EAMFormIsComplete" UniqueName="EAMFormIsComplete" ColumnGroupName="HeaderTasks"></telerik:GridCheckBoxColumn>
                <telerik:GridCheckBoxColumn DataField="isApproved" DataType="System.Boolean" HeaderText="Approved" SortExpression="isApproved" UniqueName="isApproved" ColumnGroupName="HeaderTasks"></telerik:GridCheckBoxColumn>
 
                <telerik:GridBoundColumn DataField="WorkFlowStatusName" HeaderText="WorkFlow" SortExpression="WorkFlowStatusName" UniqueName="WorkFlowStatusName" ColumnGroupName="HeaderRelease" FilterControlWidth="50px"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="ReleaseName" HeaderText="ReleaseName" SortExpression="ReleaseName" UniqueName="ReleaseName" ColumnGroupName="HeaderRelease" FilterControlWidth="50px"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="PlannedPilotDate" HeaderText="PlannedPilot" DataType="System.DateTime" DataFormatString="{0:d}" Display="True" ReadOnly="True" UniqueName="PlannedPilotDate" SortExpression="PlannedPilotDate" ColumnGroupName="HeaderRelease" FilterControlWidth="50px"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="RFC" HeaderText="RFC" SortExpression="RFC" UniqueName="RFC" ColumnGroupName="HeaderRelease" FilterControlWidth="50px"></telerik:GridBoundColumn>
 
                <telerik:GridBoundColumn DataField="Developer" HeaderText="Developer" SortExpression="Developer" UniqueName="Developer" ColumnGroupName="HeaderRelease" FilterControlWidth="50px"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="Riddler" HeaderText="Riddler" SortExpression="Riddlerr" UniqueName="Riddler" ColumnGroupName="HeaderRelease" FilterControlWidth="50px"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="QA_Monitor" HeaderText="QA_Monitor" SortExpression="QA_Monitor" UniqueName="QA_Monitor" ColumnGroupName="HeaderRelease" FilterControlWidth="50px"></telerik:GridBoundColumn>
            </Columns>
 
        </MasterTableView >
 
    </telerik:RadGrid>
    </div>
 
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" EnableAJAX="true" DefaultLoadingPanelID="RadAjaxLoadingPanel1">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="AssignedToComboBox">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RMQueue2Grid" LoadingPanelID="AjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
                    <telerik:AjaxUpdatedControl ControlID="AssignedToComboBox"></telerik:AjaxUpdatedControl>
                    <telerik:AjaxUpdatedControl ControlID="CountControl"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="StatusListComboBox">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RMQueue2Grid" LoadingPanelID="AjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
                    <telerik:AjaxUpdatedControl ControlID="StatusListComboBox"></telerik:AjaxUpdatedControl>
                    <telerik:AjaxUpdatedControl ControlID="CountControl"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"></telerik:RadAjaxLoadingPanel>
 
    <asp:SqlDataSource SelectCommand="RM_GetGenBSInfoForRMQueue" SelectCommandType="StoredProcedure" ConnectionString="<%$ ConnectionStrings:PreQual_Transient %>" ProviderName="System.Data.SqlClient" ID="RM_GetGenBSInfoForRMQueue_DS" runat="server">
        <SelectParameters>
            <asp:ControlParameter Name="UserID" PropertyName="SelectedValue" ControlID="AssignedToComboBox"></asp:ControlParameter>
            <asp:ControlParameter Name="StatusID" PropertyName="SelectedValue" ControlID="StatusListComboBox"></asp:ControlParameter>
        </SelectParameters>
 
    </asp:SqlDataSource>
 
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="footerInc" runat="server"></asp:Content>

0
Konstantin Dikov
Telerik team
answered on 02 Sep 2014, 02:14 PM
Hello Najid,

I have tested similar scenario on my end with our latest version, but I was not able to replicate such slow performance.

Could you please elaborate on which version of our controls you are using, so we can test it locally with the exact version, while trying to replicate the same issue.

I am looking forward to your reply.


Regards,
Konstantin Dikov
Telerik
 

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

 
0
Najid Hanif
Top achievements
Rank 2
answered on 02 Sep 2014, 03:20 PM
I have I have opened up a support ticket (ticket ID is: 855576) so you can see the issue in action with a captured video. I did not want to post it publicly. 

Thanks
0
Konstantin Dikov
Telerik team
answered on 05 Sep 2014, 09:07 AM
Hello Najid,

Since the issue seems to be specific to your exact scenario, for both sides convenience I suggest that you continue the communication in the support ticket.


Regards,
Konstantin Dikov
Telerik
 

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

 
Tags
Grid
Asked by
Brian Taylor
Top achievements
Rank 1
Answers by
Brian Taylor
Top achievements
Rank 1
Iana Tsolova
Telerik team
Najid Hanif
Top achievements
Rank 2
Konstantin Dikov
Telerik team
Share this question
or