I've been tasked with applying a loading panel over a RadGrid that is nested in an UpdatePanel. I placed a RadAjaxManager and a RadAjaxLoadingPanel inside the update definition. The loading panel works, but for some reason, the paging on the RadGrid breaks, and it alternates between doing a full page refresh and a proper AJAX request. I've tried to replace the UpdatePanel with a RadAjaxPanel, but that didn't fix the problem, and in fact started mangling the RadGrid display.
Here's the code that's causing the problem. Any info would be appreciated. Thanks!
Here's the code that's causing the problem. Any info would be appreciated. Thanks!
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always"> <ContentTemplate> <radG:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <radG:AjaxSetting AjaxControlID="btnSearch"> <UpdatedControls> <radG:AjaxUpdatedControl ControlID="UpdatePanel1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </radG:AjaxSetting> </AjaxSettings> </radG:RadAjaxManager> <radG:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Office2007" > </radG:RadAjaxLoadingPanel> <radG:RadGrid ID="grdCampaignStatus" runat="server" PageSize="50" Width="100%" Height="565px" Skin="Office2007" EnableEmbeddedSkins="true" GridLines="None" AllowPaging="true" AutoGenerateColumns="False" AllowSorting="true" ShowGroupPanel="False" StatusBarSettings-ReadyText="Ready" StatusBarSettings-LoadingText="Please Wait..." ShowStatusBar="True"> <ClientSettings AllowDragToGroup="True"> <Resizing AllowColumnResize="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="True"> </Resizing> <Scrolling AllowScroll="True" UseStaticHeaders="True"></Scrolling> </ClientSettings> <MasterTableView AllowNaturalSort="false" TableLayout="Fixed"> <Columns> <radG:GridBoundColumn SortExpression="Campaign Id" AllowSorting="True" HeaderText="Campaign Id" DataField="[Campaign Id]"> </radG:GridBoundColumn> <radG:GridBoundColumn HeaderText="Campaign Name" AllowSorting="true" SortExpression="Campaign Name" DataField="[Campaign Name]"> </radG:GridBoundColumn> <radG:GridBoundColumn HeaderText="Status" AllowSorting="true" SortExpression="Status" DataField="[Status]"> </radG:GridBoundColumn> <radG:GridBoundColumn HeaderText="Placed Date" AllowSorting="true" SortExpression="Placed Date" DataField="[Placed Date]"> </radG:GridBoundColumn> <radG:GridBoundColumn HeaderText="Requested launch Date/Time" AllowSorting="true" SortExpression="Requested Launch" DataField="[Requested Launch]"> </radG:GridBoundColumn> <radG:GridBoundColumn HeaderText="Date/Time sent" AllowSorting="true" SortExpression="Time Sent" DataField="[Time Sent]"> </radG:GridBoundColumn> <radG:GridBoundColumn HeaderText="First Name" AllowSorting="true" SortExpression="First Name" DataField="[First Name]"> </radG:GridBoundColumn> <radG:GridBoundColumn HeaderText="Last Name" AllowSorting="true" SortExpression="Last Name" DataField="[Last Name]"> </radG:GridBoundColumn> <radG:GridBoundColumn HeaderText="Reply To" AllowSorting="true" SortExpression="Reply To" DataField="[Reply To]"> </radG:GridBoundColumn> <radG:GridBoundColumn HeaderText="Recipient Count" AllowSorting="true" HeaderStyle-Width="50" SortExpression="Recipient Count" DataField="[Recipient Count]"> </radG:GridBoundColumn> <radG:GridTemplateColumn HeaderText="Run" UniqueName="TemplateColumn" HeaderStyle-Width="30"> <ItemTemplate> <asp:Button ID="LinkButtonRedistribute" CommandName="ExecuteService" OnClientClick = "return confirm('Do you want to run the campaign service?');" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"[Campaign Id]") %>' runat="server" Text="Run"></asp:Button> </ItemTemplate> </radG:GridTemplateColumn> <radG:GridTemplateColumn HeaderText="Complete" UniqueName="CompleteColumn" > <ItemTemplate> <asp:Button ID="LinkButtonCompleteCampaign" Width="60" CommandName="CompleteCampaign" OnClientClick = "return confirm('This will only update the status of the campaign to Completed. This will not send any notification or send any emails. Do you want to complete the campaign? ');" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"[Campaign Id]") %>' runat="server" Text="Complete"></asp:Button> </ItemTemplate> </radG:GridTemplateColumn> </Columns> </MasterTableView> <PagerStyle Mode="NumericPages" /> </radG:RadGrid> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnSearch" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="uxCampaignStatus" EventName="SelectedIndexChanged" /> </Triggers> </asp:UpdatePanel>