Skip to main content
Dynamics 365 general forum
Answered

How to hide and show fields on the form based on condition

editSubscribe (0) ShareShare
ReportReport
Posted on by

Hello All Experts,

I have a form which contains two lookups and two options fields.

I need to hide and show the two options fields based on certain values which are present in the dropdown are selected.

I have used the sdk.rest retrieve method, but my trouble is that when i am using first dropdown value to fetch the record and the same value in the successcallback method i am utilizing and in that successcallback i am again trying to retrieve the value of the another lookup but my code do not work.

is there any possibility i can directly choose the lookup value rather than lookup id.

it will really be appreciable if anyone can help me in this.

  • Verified answer
    Wahaj Rashid Profile Picture
    Wahaj Rashid 11,317 on at
    RE: How to hide and show fields on the form based on condition

    Hi,

    Thank you for your query.

    If I understood correctly, you need to show or hide two options field based on a value selected in the lookup fields.

    And Instead of comparing based on GUIDs (lookup id), you need to compare values on lookup record names.

    In that case you can use following approaches:

    • Business Rules: create a business rule for your form and add conditions on the lookup field, and then show/or hide the field. For example:

    pastedimage1613557094432v1.png

    • Or you can register a JavaScript function on change of your lookups and get the name field code, here is sample for your reference:

    function onChangeofLookup(executionContext) {
    
    
        // get formContext
    
        var formContext = executionContext.getFormContext(); 
        
        var objLookup = formContext.getAttribute("").getValue();
        
        var lookupId = objLookup[0].id;
    
        var lookupName = objLookup[0].name;
    
        var lookupEntityName = objLookup[0].entityType;
        
        if (lookupName === "X" || lookupName === "Y") {
        
            formContext.getControl("").setVisible(true);
        
        }
    }

    If you need to do your comparisons, on other fields of the lookup record, its better to use the Web API to retrieve values from lookup record:

    https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/xrm-webapi/retrieverecord

    If you find any issue, please share the error details.

Helpful resources

Quick Links

What Motivates a Super User?

We know many of you visit the Dynamics 365 Community and Power Platform…

Demystifying Copilot with Georg Glantschnig…

Industry experts answer burning questions directly from our amazing Community…

Setting Up Knowledge Sources for Copilot…

Look at how configuring a comprehensive knowledge base is crucial…

Leaderboard

#1
Andre Arnaud de Calavon Profile Picture

Andre Arnaud de Cal... 283,045 Super User

#2
Martin Dráb Profile Picture

Martin Dráb 222,570 Super User

#3
nmaenpaa Profile Picture

nmaenpaa 101,138

Product updates

Dynamics 365 release plans