acumatica Conditionally Hiding Tabs VisibleExp Property of the PXTab Control in Aspx


The VisibleExp property is a boolean expression, that determines if given tab is visible (when logical expression is TRUE) or hidden. You specify VisibleExp property for PXTab controls in Aspx page:

<px:PXTabItem Text="Credit Card Processing Info" BindingContext="form" 
    VisibleExp="DataControls[&quot;chkIsCCPayment&quot;].Value = 1">

VisibleExp is composed of input controls placed within the container with ID specified in the BindingContext property of PXTab control. You are not allowed to use input controls from more than one container. Access to a specific input control is provided through the DataControls dictionary by its ID, not the name of a DAC field.

Usually VisibleExp property is used to compose fairly simple boolean expressions with hardcoded input control values, that are unlikely to change with time. For instance, the following expression is used on the Sales Orders screen (SO.30.10.00) to hide Payment Setting tab for orders of the Transfer type:

<px:PXTabItem Text="Payment Settings" 
    VisibleExp="DataControls[&quot;edOrderType&quot;].Value!=TR" BindingContext="form">

To hide Activities tab for Leads with New status

To hide Activities tab from the Leads screen (CR.30.10.00), set BindingContext property to form (top-level Lead Summary form holds form ID) and define VisibleExp to return FALSE if lead status is Open (Status dropdown holds edStatus ID):

<px:PXTabItem Text="Activities" LoadOnDemand="True" 
    BindingContext="form" VisibleExp="DataControls[&quot;edStatus&quot;].Value != H">

enter image description here