Dynamically hide and show fields according to a specific condition on a page in Dynamics NAV

Posted On July 25, 2017 by Admin Posted in 

If you have a small or a mid-sized business and still running an older version, you must seriously think of Microsoft dynamics nav upgrade. Microsoft is consistently seeing approaches to ad lib the Enterprise Resource Planning Systems or ERPs. Utilizing Microsoft Dynamics NAV Inventory Management, organizations can do undertakings, for example, setting up elective sellers, beware of stock gathering the board, and get the necessary examination report effortlessly. 

70 percent of Microsoft Dynamics NAV clients around the globe keep on running old variants of NAV. Albeit past NAV forms have conveyed ground-breaking operational advantages all through its use, moving up to the most recent adaptation takes execution, spryness and interoperability to unheard of levels. One of the prime explanations behind not overhauling is the hesitance. 


We often have a requirement to dynamically hide or show fields on a page according to a certain condition. Setting visibility properties of the fields to ‘True’ or ‘False’ do not help as they do not work dynamically. They are only set when the page is opened initially.

In this article, I will be demonstrating the procedure to show or hide fields dynamically on a page according to a specific condition.


Microsoft Dynamics NAV 2017


This is the scenario that I was customizing. I was working on two types of contracts i.e. Rental and Lease contracts. The user has to select the contract type on the page. Now if the user selects ‘Rental Contract’ as the Contract Type then a certain set of fields should be visible to the user else, they should be hidden.

    1. The first step is to put all the fields that should be shown or hidden dynamically in a separate group on the page.

      In the above screenshot, I have put all the fields that should be shown or hidden dynamically when ‘Rental Contract’ is selected in ‘Contract Type’ field which is an option field consisting of OptionString ‘Rental Contract and Lease Contracts for Uber and Non-Uber drivers’ under ‘Rental details’ group.

    2. Next, go to the properties of the group that contains the fields which should be dynamically hidden or shown i.e. properties of ‘Rental details’ group.
    3. Now in the visible property section, define the condition that triggers the fields to be dynamically shown or hidden.
    4. So, I have set the condition that when ‘Contract Type’ equals ‘Rental Contract’ then only ‘Rental details’ group should be visible i.e. I have written the condition as below:

 “Contract Type”=”Contract Type”::”Rental Contract”

Below are the screenshots of my page:

The above shows the three options available for contract type.

So if Contract type ‘Lease contract for Non-Uber drivers’ or ‘Lease contract for Uber drivers’ is selected then the ‘Rental details’ group along the fields it contains are hidden.

The above screenshot shows that only if ‘Rental Contract’ is selected as ‘Contract Type’, only then the Rental details group and the fields it contains becomes visible.

Share Story :