I have a form with a grid in it that uses a LinqDataSource. The Selecting event is wired up to return the number of rows. I use a RadAjaxManager and a RadAjaxLoadingPanel. However, when I click on a paging control the grid "flashes" and the loading "wheel" does not appear like the 300,000 Linq demo shows. The paging does work though. How do I make the loading stuff work? I have supplied the code for a cutback version of what I am doing in a real web app.
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm8.aspx.cs" Inherits="CharityCheck.WebForm8" %> |
| <%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head runat="server"> |
| <title></title> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <div> |
| <asp:Panel ID="Panel1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server" ScriptMode="Release" /> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" > |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGrid1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" /> |
| <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" |
| Skin="Office2007" GridLines="None" |
| AutoGenerateColumns="False" |
| DataSourceID="LinqDataSource1" > |
| <MasterTableView TableLayout="Fixed" > |
| <Columns> |
| <telerik:GridBoundColumn DataField="CompanyName" DefaultInsertValue="" |
| HeaderText="CompanyName" SortExpression="CompanyName" |
| UniqueName="CompanyName" ReadOnly="True" > |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="ID" DefaultInsertValue="" |
| HeaderText="ID" SortExpression="ID" UniqueName="ID" |
| DataType="System.Int32" ReadOnly="True"> |
| </telerik:GridBoundColumn> |
| </Columns> |
| </MasterTableView> |
| <ClientSettings> |
| <selecting allowrowselect="True" /> |
| </ClientSettings> |
| <PagerStyle Position="TopAndBottom" /> |
| </telerik:RadGrid> |
| <asp:LinqDataSource ID="LinqDataSource1" runat="server" |
| AutoPage="False" ContextTypeName="CharityCheck.CharityCheckEntities" |
| onselecting="LinqDataSource1_Selecting" |
| TableName="CompanySet" OrderBy="CompanyName" |
| Select="new (CompanyName, ID)"> |
| </asp:LinqDataSource> |
| </asp:Panel> |
| </div> |
| </form> |
| </body> |
| </html> |
| using System; |
| using System.Collections.Generic; |
| using System.Linq; |
| using System.Web; |
| using System.Web.UI; |
| using System.Web.UI.WebControls; |
| using Infragistics.WebUI.UltraWebGrid; |
| using Telerik.Web.UI; |
| namespace CharityCheck |
| { |
| public partial class WebForm8 : System.Web.UI.Page |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| } |
| protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e) |
| { |
| CharityCheckEntities entities = new CharityCheckEntities(); |
| var data = from company in entities.CompanySet |
| select company; |
| e.Arguments.TotalRowCount = data.Count(); |
| } |
| } |
| } |