Tab

ASPxPageControl.EnableHierarchyRecreation Property

Gets or sets a value that specifies whether the page control enables its control hierarchy to be forcibly recreated, to apply the settings defined at runtime to its child controls.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v21.1.dll

Declaration

[DefaultValue(true)]
public bool EnableHierarchyRecreation { get; set; }

Property Value

Type Default Description
Boolean

true

true if the control’s hierarchy recreation is enabled; otherwise, false.

Remarks

When you modify the ASPxPageControl‘s properties programmatically at runtime, the ViewState is utilized to remember the state change. Across a postback, the control hierarchy is recreated. After that, the page’s view state is applied.

If the control settings are modified, changing the child controls hierarchy (e.g. toggle a tab page’s TabBase.Visible property via code), the hierarchy must be recreated again after the ViewState is loaded; otherwise, the control may function improperly.

Set the EnableHierarchyRecreation property to true, to forcibly recreate the control hierarchy after the ViewState is loaded (after a postback).

NOTE

Set the EnableHierarchyRecreation property in a markup or at runtime in the page’s Init event (before the ViewState is loaded).

Example

The following example shows how the tab page's visibility can be changed via code. Note that the EnableHierarchyRecreation property should be set to true.

NOTE

To change a tab page’s visibility use the TabBase.Visible property rather than modification the tab page collection using TabPageCollection.Add, TabPageCollection.Remove, or Collection.RemoveAt methods.

View Example

protected void Page_Load(object sender, EventArgs e)
{
    // Initially hide the second tab page
    if (!IsPostBack && !IsCallback) {
        ASPxPageControl1.TabPages[1].Visible = false; // do not use  ASPxPageControl1.TabPages.RemoveAt(1)!
    }

}
protected void ASPxRadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) {
    // Hide a tab page corresponding to the selected radio button
    for (int i = 0; i < ASPxPageControl1.TabPages.Count; i++) {
        ASPxPageControl1.TabPages[i].Visible = true;
    }
    ASPxPageControl1.TabPages[ASPxRadioButtonList1.SelectedIndex].Visible = false;

}
See Also