Hello,
I am on Q2 2010 SP2, How can i improve the performance of my RadGrid, it has just 75 rows but it takes close to 7 seconds when i navigate between pages each of size 25, Is there a way to improve this latency? I am using filtering and sorting. Here is a sample of my grid declaration.
Lot of the help i got from previous posts don't work for filtering and sorting option. Any help is greatly appreciated.
Thanks,
Kavitha
I am on Q2 2010 SP2, How can i improve the performance of my RadGrid, it has just 75 rows but it takes close to 7 seconds when i navigate between pages each of size 25, Is there a way to improve this latency? I am using filtering and sorting. Here is a sample of my grid declaration.
Lot of the help i got from previous posts don't work for filtering and sorting option. Any help is greatly appreciated.
Thanks,
Kavitha
<
telerik:radgrid
id
=
"RadGrid1"
width
=
"100%"
allowfilteringbycolumn
=
"true"
showstatusbar
=
"true"
allowsorting
=
"True"
allowpaging
=
"True"
pagesize
=
"100"
runat
=
"server"
autogeneratecolumns
=
"False"
enablelinqexpressions
=
"false"
onitemcommand
=
"RadGrid1_ItemCommand"
onneeddatasource
=
"RadGrid1_NeedDataSource"
allowmultirowselection
=
"true"
OnPreRender
=
"RadGrid1_PreRender"
OnItemDataBound
=
"RadGrid1_ItemDataBound"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
Position
=
"Top"
AlwaysVisible
=
"true"
/>
<
mastertableview
datakeynames
=
"WorkOrderID"
clientdatakeynames
=
"WorkOrderID"
>
<
CommandItemSettings
ShowAddNewRecordButton
=
"false"
/>
<
Columns
>
<
telerik:GridClientSelectColumn
UniqueName
=
"ClientSelectColumn"
HeaderStyle-Width
=
"50px"
>
</
telerik:GridClientSelectColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"WorkOrderID"
DataField
=
"WorkOrderID"
HeaderText
=
"Work Order ID"
>
<
FilterTemplate
>
Clear filters
<
asp:ImageButton
ID
=
"btnShowAll"
runat
=
"server"
ImageUrl
=
"~/Img/filterCancel.gif"
AlternateText
=
"Show All"
ToolTip
=
"Show All"
OnClick
=
"btnShowAll_Click"
Style
=
"vertical-align: middle"
/>
</
FilterTemplate
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"DateAdded"
DataField
=
"DateAdded"
HeaderText
=
"Date Added"
DataFormatString
=
"{0:d}"
HeaderStyle-Width
=
"90px"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RadComboDateAdded"
DataTextField
=
"DateAdded"
DataValueField
=
"DateAdded"
Height
=
"200px"
AppendDataBoundItems
=
"true"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("DateAdded").CurrentFilterValue %>'
runat="server" OnClientSelectedIndexChanged="DateAddedIndexChanged" OnLoad="RadComboBoxDateAdded_OnLoad">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"All"
Selected
=
"true"
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock5"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function DateAddedIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("DateAdded", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"DateUpdated"
DataField
=
"DateUpdated"
HeaderText
=
"Updated Date"
DataFormatString
=
"{0:d}"
HeaderStyle-Width
=
"90px"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RadComboDateUpdated"
DataTextField
=
"DateUpdated"
DataValueField
=
"DateUpdated"
Height
=
"200px"
AppendDataBoundItems
=
"true"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("DateUpdated").CurrentFilterValue %>'
runat="server" OnClientSelectedIndexChanged="DateUpdatedIndexChanged" OnLoad="RadComboBoxDateUpdated_OnLoad" OnItemDataBound="RadComboDateUpdated_ItemDataBound">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"All"
Selected
=
"true"
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock6"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function DateUpdatedIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("DateUpdated", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"Status"
DataField
=
"Status"
HeaderText
=
"Status"
HeaderStyle-Width
=
"200px"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RadComboBoxStatus"
DataTextField
=
"Status"
DataValueField
=
"Status"
Height
=
"200px"
AppendDataBoundItems
=
"true"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("Status").CurrentFilterValue %>'
runat="server" OnClientSelectedIndexChanged="StatusIndexChanged" OnLoad="RadComboBoxStatus_OnLoad" OnItemDataBound="RadComboStatus_ItemDataBound">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"All"
Selected
=
"true"
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock2"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function StatusIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("Status", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"Category"
DataField
=
"Category"
HeaderText
=
"Category"
HeaderStyle-Width
=
"200px"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RadComboBoxCategory"
DataTextField
=
"Category"
DataValueField
=
"Category"
Height
=
"200px"
AppendDataBoundItems
=
"true"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("Category").CurrentFilterValue %>'
runat="server" OnClientSelectedIndexChanged="CategoryIndexChanged" OnLoad="RadComboBoxCategory_Onload" OnItemDataBound="RadComboCategory_ItemDataBound">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"All"
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock3"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function CategoryIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("Category", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"Addr1"
DataField
=
"Addr1"
HeaderText
=
"Street Address"
HeaderStyle-Width
=
"100px"
AllowFiltering
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"City"
DataField
=
"City"
HeaderText
=
"City"
HeaderStyle-Width
=
"100px"
AllowFiltering
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"State"
DataField
=
"State"
HeaderText
=
"State"
HeaderStyle-Width
=
"100px"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RadComboBoxState"
DataTextField
=
"State"
DataValueField
=
"State"
Height
=
"200px"
AppendDataBoundItems
=
"true"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("State").CurrentFilterValue %>'
runat="server" OnClientSelectedIndexChanged="StateIndexChanged" OnLoad="RadComboBoxState_OnLoad" Width="50px" OnItemDataBound="RadComboState_ItemDataBound">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"All"
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock9"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function StateIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("State", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
mastertableview
>
<
clientsettings
enablerowhoverstyle
=
"true"
>
<
Selecting
AllowRowSelect
=
"True"
/>
<
ClientEvents
OnRowSelected
=
"RadGrid1_RowSelected"
OnRowDeselected
=
"RadGrid1_RowDeselected"
OnGridCreated
=
"GridCreated"
/>
</
clientsettings
>
</
telerik:radgrid
>