addCustomFilter (client-API-verwijzing)

Met de addCustomFilter methode worden filters toegevoegd aan de resultaten die worden weergegeven in een opzoekbesturingselement in modelgestuurde apps. Elk filter wordt gecombineerd met eventuele eerder toegevoegde filters als voorwaarde AND .

Ondersteunde besturingstypen

Lookup

Syntaxis

formContext.getControl(arg).addCustomFilter(filter, entityLogicalName)

Parameterwaarden

Name Type Description
filter String Het filterelement FetchXML dat moet worden toegepast.
entityLogicalName String Optional. Als u deze parameter instelt, is het filter alleen van toepassing op dat tabeltype. Anders geldt dit voor alle typen tabellen die worden geretourneerd.

Gebruik bijvoorbeeld de volgende XML voor de filter parameter:

<filter type="and">
  <condition attribute="address1_city" operator="eq" value="Redmond" />
</filter>

Opmerkingen

Gebruik deze methode in een functie in een gebeurtenis-handler voor de Gebeurtenis Lookup Control PreSearch.

Example

Het volgende codevoorbeeld is voor het opzoeken van het verkoopkansformulieraccount (parentaccountid). Wanneer u de Sdk.setParentAccountIdFilter functie instelt in de gebeurtenis-handler van het formulier Onload , voegt u de Sdk.filterCustomerAccounts functie toe aan de PreSearch gebeurtenis voor die zoekopdracht. Vergeet niet om de optie te selecteren die moet worden doorgegeven in de uitvoeringscontext bij het instellen van de functie in de gebeurtenis-handler van het formulier Onload . Het resultaat is dat alleen accounts met de categoriewaarde (accountcategorycode) van Voorkeursklant (1) worden geretourneerd.

// A namespace defined for SDK sample code
// You should define a unique namespace for your libraries
const Sdk = (window.Sdk ??= {});

// set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
Sdk.setParentAccountIdFilter = (executionContext) => {
  const formContext = executionContext.getFormContext();
    formContext.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
};

Sdk.filterCustomerAccounts = (executionContext) => {
  const control = executionContext.getEventSource();
  const customerAccountFilter = `
    <filter type="and">
      <condition attribute="accountcategorycode" operator="eq" value="1" />
    </filter>`;
  control.addCustomFilter(customerAccountFilter, "account");
};

addPreSearch
formContext