Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics 365 | Integration, Dataverse...
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.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,280 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,235 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Product updates

Dynamics 365 release plans