Skip to main content

Notifications

Announcements

No record found.

Dynamics 365 general forum
Answered

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

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,319 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

Replay now available! Dynamics 365 Community Call (CRM Edition)

Catch up on the first D365 Community Call held on 7/10

Community Spotlight of the Month

Kudos to Saurav Dhyani!

Congratulations to the June Top 10 community leaders!

These stars go above and beyond . . .

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 288,584 Super User

#2
Martin Dráb Profile Picture

Martin Dráb 225,864 Super User

#3
nmaenpaa Profile Picture

nmaenpaa 101,148

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans