addCustomFilter (klient-API-reference)

Metoden addCustomFilter føjer filtre til de resultater, der vises i et opslagskontrolelement i modeldrevne apps. Hvert filter kombineres med eventuelle tidligere tilføjede filtre som en AND betingelse.

Understøttede kontrolelementtyper

Søg

Syntaks

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

Parametre

Name Type Beskrivende tekst
filter Streng Det FetchXML-filterelement, der skal anvendes.
entityLogicalName Streng Valgfrit. Hvis du angiver denne parameter, gælder filteret kun for den pågældende tabeltype. Ellers gælder den for alle typer returnerede tabeller.

Brug f.eks. følgende XML til filter parameteren:

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

Bemærkninger

Brug denne metode i en funktion i en hændelseshandler for Præsearch-hændelsen for opslagskontrol.

Eksempel

Følgende kodeeksempel er til opslaget Konto (parentaccountid) i formularen Salgsmulighed. Når du angiver funktionen Sdk.setParentAccountIdFilter i formularhændelseshandleren Onload , skal du føje funktionen Sdk.filterCustomerAccounts til PreSearch hændelsen for det pågældende opslag. Husk at vælge den indstilling, der skal overføres i udførelseskonteksten, når du angiver funktionen i formularhændelseshandleren Onload . Resultatet er, at kun konti med værdien Kategori (accountcategorycode) for Foretrukken kunde (1) returneres.

// 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