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!
<
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
>