Bhubaneswar, Odisha, India
+91-8328865778
support@softchief.com

[Sample Code] Set Lookup View dynamically in Dynamics 365 or Power Apps Model driven app form

[Sample Code] Set Lookup View dynamically in Dynamics 365 or Power Apps Model driven app form

Here is a sample code you can use to dynamically set the lookup view conditionally in Dynamics 365 or Model driven power apps. Remember to pass execution context from FORM to JS.

JavaScript
function getTargetViewFetchXML(executionContext){
  var formContext = executionContext.getFormContext();

  var defaultView = "Active Contactors"
  var TPView = "Third Party Contractors";
  var VIPView = "VIP Contractors";
  var setTargetView = ""; 

  var selectedArea = formContext.getAttribute('soft_selectedarea').getValue();
  
  if(selectedArea === 1){
      setTargetView = TPView;
  }else if(selectedArea === 2){
      setTargetView = VIPView;
  }else{
      setTargetView = defaultView
  };

  // Define FetchXML
  var viewFetchXml = "<fetch>"
     + "  <entity name='savedquery'>"
     + "    <attribute name='savedqueryid'/>"
     + "    <attribute name='name'/>"
     + "    <filter>"
     + "      <filter>" 
     + "        <condition attribute='name' operator='eq' value='"+setTargetView+"'/>"
     + "      </filter>"
     + "    </filter>"
     + "  </entity>"
     + "</fetch>";
  
     // Encode FetchXML 
      viewFetchXml ="?fetchXml="+encodeURIComponent(viewFetchXml); 

     // Retrieve the records and set the default view
      Xrm.WebApi.retrieveMultipleRecords('savedquery',viewFetchXml).then( 
      function success(items){ 
      if(items.entities.length>0) 
      {
          var viewId=items.entities[0].savedqueryid; 
          var contractorlookup= executionContext.getFormContext().getControl("soft_contract"); 
          contractorlookup.setDefaultView(viewId);       
      }

  },  
  function (error) {
      console.log(error.message);
  }

  ); 
}
JavaScript

Hope this helps.