I have a RadTreeView inside a RadPane. The RadPane has Scrolling="Y" and when the RadTreeView expands beyond the height of the Pane a scroll bar appears in the Pane and everything works great. However, when the user checks/unchecks items in the TreeView there is an Ajax postback so I can display / hide information in other controls based on the selected items. I have the TreeView as the AjaxControlID in an AjaxSetting as well as an AjaxUpdatedControl with the LoadingPanelID set. Like so:
<
telerik:AjaxSetting
AjaxControlID
=
"tvwTermZone"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"tvwTermZone"
LoadingPanelID
=
"lPnlMain"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
When the TreeView extends beyond the bottom of the RadPane the LoadingPanel is displayed over it's expanded size beyond the bottom of the scrolled RadPane, so that it shows over the cotrols that are in the RadPane below the Pane that contains the TreeView in it and the 'waiting' gif shows outside of the containing RadPane as well. Is there any way to keep the LoadingPanel over the RadPane that holds the TreeView?
Thanks in Advance
Dave
8 Answers, 1 is accepted
In this case possible option would be to ajaxify the whole RadPane and show the LoadingPanel over it covering the whole control. Another option is to center the LoadingPanel on the screen for every ajax request as shown in the help topic below:
http://www.telerik.com/help/aspnet-ajax/ajax-center-loadingpanel.html
All the best,
Maria Ilieva
the Telerik team
> ajaxify the whole RadPane and show the LoadingPanel over it
If you mean change to the following:
<
telerik:AjaxSetting
AjaxControlID
=
"myTreeView"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadPaneContainingTreeView"
LoadingPanelID
=
"lPnlMain"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
Not sure if I am doing something wrong, but I have never been able to 'ajaxify' a RadPane in a RadSpillter? I always get the error:
Offending URL: http://localhost:49573/xxx/yyy.aspx
Source: Telerik.Web.UI
Message: SplitterItemsCollection must contain SplitterItem objects
Stack trace:
at Telerik.Web.UI.SplitterItemsCollection.AddAt(Int32 index, Control child)
at Telerik.Web.UI.RadAjaxControl.MoveUpdatePanel(Control initiator, Control updated)
at Telerik.Web.UI.RadAjaxControl.PerformRender()
at Telerik.Web.UI.RadAjaxControl.OnPageRender(HtmlTextWriter writer, Control page)
at Telerik.Web.UI.RadAjaxControl.RenderPageInAjaxMode(HtmlTextWriter writer, Control page)
etc...
Can a RadPane be 'ajaxified'? If so, please let me know how...
It's just my personal choice but, I do not like to cover the entire page with loading panel when updating, but rather only the controls concerned...
So, I guess I just have to live with this shortcoming then?
Thanks,
Dave
Please try adding the following settings and verify what the result is:
<
telerik:AjaxSetting
AjaxControlID
=
"RadPaneContainingTreeView"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadPaneContainingTreeView"
LoadingPanelID
=
"lPnlMain"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
All the best,
Maria Ilieva
the Telerik team
Hi,
Did you try this? As I posted previous, I can NEVER put RadPanes into the AjaxManager stuff, the same error is always returned, can you send me a sample that allows one to be used this way?
I added:
<
telerik:AjaxSetting
AjaxControlID
=
"pnlTermZone"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"pnlTermZone"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
and got:
Offending URL: http://localhost:49573/Dispatch/Planning.aspx
Source: Telerik.Web.UI
Message: SplitterItemsCollection must contain SplitterItem objects
Stack trace:
at Telerik.Web.UI.SplitterItemsCollection.AddAt(Int32 index, Control child)
at Telerik.Web.UI.RadAjaxControl.MoveUpdatePanel(Control initiator, Control updated)
at Telerik.Web.UI.RadAjaxControl.PerformRender()
at Telerik.Web.UI.RadAjaxControl.OnPageRender(HtmlTextWriter writer, Control page)
at Telerik.Web.UI.RadAjaxControl.RenderPageInAjaxMode(HtmlTextWriter writer, Control page)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.Page.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
The error is a result of not using the right controls with RadAjaxManager. Here is a help article that gives a thorough explanation on how to ajaxify the mentioned controls -
http://www.telerik.com/help/aspnet-ajax/splitter-how-to-ajax.html.
Greetings,
Maria Ilieva
the Telerik team
Just sticking a container inside the radPane and ajaxifying that is exactly the same as ajaxifying the radTreeView, you will still get the loading panel displaying outside of the radPane.
Look, there obviously is NO solution to this problem and your knowledge of what to try is no better than mine! It would be better just to admit that and move on... If you had any Telerik points, I'd be taking away 1000.
Thanks
Dave
As the RadPane should always be part of RadSplitter control you should simply add the splitter to update itself so the LoadingPanel will appear over the whole Pane. Find attached a sample runnable application which presents this scenario.
Kind regards,
Maria Ilieva
the Telerik team
Ok, for giving a suggestion that at least works I'll give you back 500 of the 1000 points but now we're back to your original suggestion of covering the entire page with the loading panel since the spitter containing this pane (along with several others) covers the entire page. As I wrote previous;
> It's just my personal choice but, I do not like to cover the entire page
> with loading panel when updating, but rather only the controls concerned...
Plus, there are other side affects when doing this as some risizing of RadGrids in other panes to force them to fill the pane in the same splitter stopped working correctly when I added your suggestion.
Sometimes you just can't get the desired resutls, it's ok to admit that and it won't stop me from using the Telerik controls. Please consider this thread closed