addCustomFilter (Klient-API-referanse)

Metoden addCustomFilter legger til filtre i resultatene som vises i en oppslagskontroll i modelldrevne apper. Hvert filter kombineres med eventuelle tidligere tilføyde filtre som en AND betingelse.

Kontrolltyper som støttes

Lookup

Syntaks

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

Parametere

Navn Type Description
filter Streng FetchXML-filterelementet som skal brukes.
entityLogicalName Streng Valgfritt. Hvis du angir denne parameteren, gjelder filteret bare for denne tabelltypen. Ellers gjelder den for alle typer tabeller som returneres.

Bruk for eksempel følgende XML-kode for parameteren filter :

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

Merknader

Bruk denne metoden i en funksjon i en hendelsesbehandling for hendelsen Søk etter kontroll før arkivering.

Eksempel

Følgende kodeeksempel er for kontooppslaget for salgsmulighetsskjemaet (parentaccountid). Når du angir Sdk.setParentAccountIdFilter funksjonen i skjemahendelsesbehandlingen OnloadSdk.filterCustomerAccounts , legger du til funksjonen i PreSearch hendelsen for dette oppslaget. Husk å velge alternativet som skal sendes i utførelseskonteksten når du angir funksjonen i skjemahendelsesbehandlingen Onload . Resultatet er at bare kontoer med kategoriverdien (accountcategorycode) for foretrukket 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