or
| private void GetRadGridData() |
| { |
| try |
| { |
| myRadGrid.ControlStyle.Reset(); |
| myRadGrid.DataSource = GetData(); |
| myRadGrid.DataBind(); |
| } |
| catch (Exception ex) |
| { |
| Master_Cat.HandleException(ex); |
| } |
| } |
| To optimize even more the grid client-side data binding you can get both data and total items count in a single request. Example: |
| ... |
| [WebMethod(EnableSession = true)] |
| public Dictionary<string, object> GetDataAndCount(int startRowIndex, int maximumRows, List<GridSortExpression> sortExpression, List<GridFilterExpression> filterExpression) |
| { |
| Dictionary<string, object> data = new Dictionary<string, object>(); |
| data.Add("Data", GetData(startRowIndex, maximumRows, sortExpression, filterExpression)); |
| data.Add("Count", (int)Session["Count"]); |
| return data; |
| } |
| ... |
| The type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary. |
I'll try to upgrade and see what happens, but my question is on the paging. I could not find any info on this in the docs. Is it turned on by default ? How can I control this feature ? Where can I find more info on this ?
Added a screenshot from the IE8 profiler, which identifies the dataBind function as the main cause for the delay. Apparantly this is the main issue on IE, because chrome and safari take 30 secs - 1 min, but finish without problems. Firefox shows a dialog with a script warning (very soon in my opinion), but then finishes rather quickly.

| protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) |
| { |
| this.RadGrid1.DataSource = Preferences; |
| } |
| <telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" AllowPaging="True" CssClass="RadGrid" |
| AllowSorting="True" AutoGenerateColumns="False" ShowStatusBar="true" |
| OnPreRender="RadGrid1_PreRender" |
| OnNeedDataSource="RadGrid1_NeedDataSource" |
| OnUpdateCommand="RadGrid1_UpdateCommand" |
| OnInsertCommand="RadGrid1_InsertCommand" |
| OnDeleteCommand="RadGrid1_DeleteCommand" |
| > |
| <MasterTableView Width="100%" CommandItemDisplay="Top" AllowSorting="False" > |
| <Columns> |
| <telerik:GridTemplateColumn UniqueName="TestingMoveItemUp" HeaderText=""> |
| <ItemTemplate> |
| <asp:Image id="imgMoveUp" class="up" ImageUrl="~/images/applications/up.gif" |
| onclick="grd_RowMove(this, true);" |
| AlternateText="Move Up" runat="server"></asp:Image> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn UniqueName="TestingMoveItemDown" HeaderText=""> |
| <ItemTemplate> |
| <asp:Image id="imgMoveDown" class="down" ImageUrl="~/images/applications/down.gif" onclick="grd_RowMove(this,false);" AlternateText="Move Down" runat="server"></asp:Image> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> |
| </telerik:GridEditCommandColumn> |
| <telerik:GridTemplateColumn UniqueName="PreferenceOrder" HeaderText="Order" DataField="PreferenceOrder"> |
| </telerik:GridTemplateColumn> |
| <telerik:GridBoundColumn UniqueName="CourseCode" HeaderText="Code" DataField="CourseCode"> |
| <telerik:GridButtonColumn ButtonType="ImageButton" UniqueName="DeleteColumn" Text="Delete" CommandName="Delete" /> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| <telerik:RadPanelBar ID="rpOrderTree" runat="server" ExpandMode="MultipleExpandedItems" DataSourceID="ObjectDataSource1" DataTextField="branch_short_desc" DataValueField="branch_code" Width="800" DataFieldID="branch_code" AllowCollapseAllItems="True" AppendDataBoundItems="True" CausesValidation="True" EnableEmbeddedSkins="False" EnableTheming="False" EnableViewState="False" RegisterWithScriptManager="True"> |
| <ItemTemplate> |
| <items> |
| <telerik:RadPanelItem text=""> |
| <itemtemplate> |
| <asp:RadioButtonList ID="rblOptions" runat="server" AutoPostBack="true" OnTextChanged="OptionsCommand" DataSource='<%# CreateDataSourceOptions(DataBinder.Eval(Container.DataItem, "product_code"), DataBinder.Eval(Container.DataItem, "branch_code")) %>' DataTextField="leaf_desc" DataValueField="leaf_code" Font-Size="Medium" RepeatDirection="Vertical" RepeatLayout="Flow"></asp:RadioButtonList> |
| </itemtemplate> |
| </telerik:RadPanelItem> |
| </items> |
| </ItemTemplate> |
| </telerik:RadPanelBar> |
| <div id="rpOrderTree" class="RadPanelBar RadPanelBar_Default " style="width:800px;"> |
| <ul class="rpRootGroup"> |
| <li class="rpItem rpFirst"><a href="#" class="rpLink"><span class="rpOut"><span class="rpText">Series</span></span></a><div class="rpTemplate"> |
| <items> |
| <telerik:RadPanelItem text=""> |
| <itemtemplate> |
| <span id="rpOrderTree_i0_rblOptions" style="font-size:Medium;font-size: 80%;"><input id="rpOrderTree_i0_rblOptions_0" type="radio" name="rpOrderTree$i0$rblOptions" value="" onclick="javascript:setTimeout('__doPostBack(\'rpOrderTree$i0$rblOptions$0\',\'\')', 0)" /><label for="rpOrderTree_i0_rblOptions_0">Unspecified</label><br /><input id="rpOrderTree_i0_rblOptions_1" type="radio" name="rpOrderTree$i0$rblOptions" value="AAA" onclick="javascript:setTimeout('__doPostBack(\'rpOrderTree$i0$rblOptions$1\',\'\')', 0)" /><label for="rpOrderTree_i0_rblOptions_1">AAA</label><br /><input id="rpOrderTree_i0_rblOptions_2" type="radio" name="rpOrderTree$i0$rblOptions" value="BBB" onclick="javascript:setTimeout('__doPostBack(\'rpOrderTree$i0$rblOptions$2\',\'\')', 0)" /><label for="rpOrderTree_i0_rblOptions_2">BBB</label></span> |
| </itemtemplate> |
| </telerik:RadPanelItem> |
| </items> |
| </div></li> |
| <div id="RadPanelBar1" class="RadPanelBar RadPanelBar_Default " style="height:280px;width:750px;"> |
| <!-- 2009.2.701.35 --><ul class="rpRootGroup"> |
| <li class="rpItem rpFirst"><a href="#" class="rpLink rpExpandable"><span class="rpOut"><span class="rpText">Customer testmonials</span></span></a><div class="rpSlide"> |
| <ul class="rpGroup rpLevel1 "> |
| <li class="rpItem rpFirst rpLast"><div class="rpTemplate"> |
| <div>11111</div> |
| </div></li> |
| </ul> |
| </div></li><li class="rpItem rpLast"><a href="#" class="rpLink rpExpandable"><span class="rpOut"><span class="rpText">How to find us</span></span></a><div class="rpSlide"> |
| <ul class="rpGroup rpLevel1 "> |
| <li class="rpItem rpFirst rpLast"><div class="rpTemplate"> |
| <div>22222</div> |
| </div></li> |
| </ul> |
| </div></li> |
| </ul> |
| <telerik:RadComboBox ID="cmbVobo" runat="server" |
| EmptyMessage="-- All --" HighlightTemplatedItems="true" |
| AllowCustomText="true" Width="80px" OnClientDropDownClosed="onDropDownClosingV"> |
| <ItemTemplate> |
| <div onclick="StopPropagation(event)" class="combo-item-template"> |
| <asp:CheckBox runat="server" ID="chk1" onclick="onCheckBoxClickU(this)" Checked="true"/> |
| <asp:Label runat="server" ID="Label1" AssociatedControlID="chk1"> |
| <%# Eval("Text")%> |
| </asp:Label> |
| </div> |
| </ItemTemplate> |
| <Items> |
| <telerik:RadComboBoxItem Text="No" Value="0" /> |
| <telerik:RadComboBoxItem Text="Yes" Value="1" /> |
| </Items> |
| </telerik:RadComboBox> |
ClientEvents-OnRowSelecting="cancel"
and in cancel function I call
eventArgs.set_cancel(
true);
