Hi I am using the LoadOnDemand example verbatim, but what I want to do is instead of loading three different web controls called customers, products, orders, I want to load the same web control in each pageview.
I have changed only a line in the code behind page. I am using a web control called timetest.ascx, which just displays the time on the page when loaded.
They all load fine and display a different time, but the problem is that I cannot get the RadTabStrip to change back to a pageView after it is loaded. i.e If you click tab 1 then 2 then 3 you see all the tabs loaded ok, but then clicking back to tab 2 or 3, the pageView stays on 3.
This doesn't happen if I load the three differently named usercontrols as is in the example. Can you please help me work this out?
I have changed only a line in the code behind page. I am using a web control called timetest.ascx, which just displays the time on the page when loaded.
They all load fine and display a different time, but the problem is that I cannot get the RadTabStrip to change back to a pageView after it is loaded. i.e If you click tab 1 then 2 then 3 you see all the tabs loaded ok, but then clicking back to tab 2 or 3, the pageView stays on 3.
This doesn't happen if I load the three differently named usercontrols as is in the example. Can you please help me work this out?
5 Answers, 1 is accepted
0
Temp
Top achievements
Rank 1
answered on 19 Jun 2008, 02:38 AM
| using System; |
| using System.Collections; |
| using System.Collections.Generic; |
| using System.Configuration; |
| using System.Data; |
| using System.Linq; |
| using System.Web; |
| using System.Web.Security; |
| using System.Web.UI; |
| using System.Web.UI.HtmlControls; |
| using System.Web.UI.WebControls; |
| using System.Web.UI.WebControls.WebParts; |
| using System.Xml.Linq; |
| using Mariner7.TalentManager; |
| using Telerik.Web.UI; |
| public partial class KeywordReplacements : System.Web.UI.Page |
| { |
| protected void Page_Load(object sender, System.EventArgs e) |
| { |
| if (!Page.IsPostBack) |
| { |
| AddTab("Customers"); |
| AddPageView(RadTabStrip1.FindTabByText("Customers")); |
| AddTab("Products"); |
| AddTab("Orders"); |
| } |
| } |
| private void AddTab(string tabName) |
| { |
| RadTab tab = new RadTab(); |
| tab.Text = tabName; |
| RadTabStrip1.Tabs.Add(tab); |
| } |
| protected void RadMultiPage1_PageViewCreated(object sender, RadMultiPageEventArgs e) |
| { |
| string userControlName = "/Resources/UserControls/TimeTest.ascx"; |
| Control userControl = Page.LoadControl(userControlName); |
| userControl.ID = e.PageView.ID + "_userControl"; |
| e.PageView.Controls.Add(userControl); |
| } |
| private void AddPageView(RadTab tab) |
| { |
| RadPageView pageView = new RadPageView(); |
| pageView.ID = tab.Text; |
| RadMultiPage1.PageViews.Add(pageView); |
| pageView.CssClass = "pageView"; |
| tab.PageViewID = pageView.ID; |
| } |
| protected void RadTabStrip1_TabClick(object sender, RadTabStripEventArgs e) |
| { |
| AddPageView(e.Tab); |
| e.Tab.PageView.Selected = true; |
| } |
| } |
0
Temp
Top achievements
Rank 1
answered on 19 Jun 2008, 10:23 PM
Come on guys I'm sure this is a really simple thing to do and will only take a line or two :(
0
Temp
Top achievements
Rank 1
answered on 19 Jun 2008, 11:25 PM
Never mind guys, it's to do with all pageviews reloading everytime a tab is clicked. How do I prevent this?
0
Larkin Young
Top achievements
Rank 2
answered on 20 Jun 2008, 04:35 PM
Have you tried setting the property RenderSelectedPageViewOnly to true? This will cause only the selected page view to render, as the property name implies. I believe this will resolve your issue, if I understand the problem correctly.
- Larkin
- Larkin
0
Doug Odegaard
Top achievements
Rank 2
answered on 27 Jun 2008, 08:07 PM
So by using RenderSelectedPageViewOnly I'm assuming that you must persist changes to the database every time before you load the next tab...correct?