2010-05-24 7 views
1

J'ai créé une fonction de tabulation dynamique. Lorsque je crée un onglet dynamique, il crée une vue de page pour cet onglet. Mais quand j'ai supprimé cet onglet que pageview ne supprime pas. Quelqu'un peut-il m'aider à résoudre ce problème.Problème de vue de page généré dynamiquement

using System; 

en utilisant System.Data; en utilisant System.Configuration; en utilisant System.Collections; en utilisant System.Web; en utilisant System.Web.Security; en utilisant System.Web.UI; utilisant System.Web.UI.WebControls; en utilisant System.Web.UI.WebControls.WebParts; en utilisant System.Web.UI.HtmlControls; en utilisant Telerik.WebControls; en utilisant Telerik; Public partielle classe Radstrip2: System.Web.UI.Page { protected System.Web.UI.WebControls.Label PageContent; protected System.Web.UI.WebControls.Repeater BuildingSummary; protected Telerik.WebControls.PageView PageView1;

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     Tab tab = new Tab(); 
     tab.Text = string.Format("New Page {0}", 1); 
     RadTabStrip1.Tabs.Add(tab); 

     PageView pageView = new PageView(); 
     RadMultiPage1.PageViews.Add(pageView); 

     BuildPageViewContents(pageView, RadTabStrip1.Tabs.Count); 
     RadTabStrip1.SelectedIndex = 0; 

    } 
} 

private void BuildPageViewContents(PageView pageView, int index) 
{ 
    pageView.ID = "Page " + index.ToString(); 
    pageView.Controls.Add(new LiteralControl(" <B>New page</B>" + (index).ToString())); 
} 

protected void Button1_Click(object sender, EventArgs e) 
{ 

    Tab tab = new Tab(); 
    tab.Text = string.Format("New Page {0}", RadTabStrip1.Tabs.Count + 1); 
    RadTabStrip1.Tabs.Add(tab); 

    PageView pageView = new PageView(); 
    pageView.ID = "Page " + pageView.Index.ToString(); 
    RadMultiPage1.PageViews.Add(pageView); 

    BuildPageViewContents(pageView, RadTabStrip1.Tabs.Count); 
    RadTabStrip1.SelectedIndex = RadTabStrip1.SelectedIndex + 1; 
    RadMultiPage1.SelectedIndex = RadTabStrip1.SelectedIndex; 

} 

protected void Button2_Click(object sender, EventArgs e) 
{ 
    Tab currentTab = RadTabStrip1.InnerMostSelectedTab; 

    if (currentTab != null) 
    { 
     ITabContainer owner = currentTab.Owner; 
     owner.Tabs.Remove(currentTab); 
     //RadMultiPage1.PageViews.Remove(currentTab.PageView); 
     if (owner.Tabs.Count > 0) 
     { 
      owner.SelectedIndex = 0; 
     } 
    } 
} 

protected void RadMultiPage1_PageViewItemCreated1(PageView view, int viewIndex) 
{ 
    BuildPageViewContents(view, viewIndex + 1); 
} 

}

Répondre

1

Je vois que dans votre méthode Button2_Click() vous supprimez l'onglet sélectionné, mais vous ne supprimez pas la vue de la page courante. Vous pouvez essayer avec:

RadMultiPage1.PageViews.RemoveAt(RadMultiPage1.SelectedIndex); 

Cela devrait supprimer la vue page sélectionnée

+0

i got it merci pour votre aide. – Philly

Questions connexes