Del via


addCustomFilter (Klient-API-referanse)

Legger til filtre i resultatene som vises i oppslaget. 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

  • filter: Streng. FetchXml-filterelementet som skal brukes. Eksempel:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (Valgfritt) streng. Hvis dette er angitt, gjelder filteret bare for denne tabelltypen. Ellers gjelder den for alle typer tabeller som returneres.

Merknader

Denne metoden kan bare brukes 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 funksjonen Sdk.setParentAccountIdFilter er angitt i hendelsesbehandlingen for skjemaet Onload , legges Sdk.filterCustomAccounts-funksjonen til i PreSearch-hendelsen for dette oppslaget. Husk å velge alternativet som skal sendes i utførelseskonteksten når du angir funksjonen i hendelsesbehandlingen onload for skjemaet. Resultatet er at bare kontoer med kategoriverdien (kontokategorikode) for foretrukket kunde (1) returneres.

// A namespace defined for SDK sample code
// You should define a unique namespace for your libraries
var Sdk = window.Sdk || {};

// set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
Sdk.setParentAccountIdFilter = function (executionContext) {

    // get the form context
    formContext = executionContext.getFormContext();
    formContext.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
}

Sdk.filterCustomerAccounts = function () {

    // Only show accounts with the type 'Preferred Customer'
    var customerAccountFilter = "<filter type='and'><condition attribute='accountcategorycode' operator='eq' value='1'/></filter>";
    formContext.getControl("parentaccountid").addCustomFilter(customerAccountFilter, "account");
}

addPreSearch
formContext