addCustomFilter (informazioni di riferimento sulle API client)

Il addCustomFilter metodo aggiunge filtri ai risultati visualizzati in un controllo di ricerca nelle app basate su modello. Ogni filtro viene combinato con qualsiasi filtro aggiunto in precedenza come AND condizione.

Tipi di controllo supportati

Ricerca

Sintassi

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

Parametri

Nome Type Description
filter String Elemento filtro FetchXML da applicare.
entityLogicalName String Optional. Se si imposta questo parametro, il filtro si applica solo a tale tipo di tabella. In caso contrario, si applica a tutti i tipi di tabelle restituite.

Ad esempio, usare il codice XML seguente per il filter parametro :

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

Osservazioni:

Utilizzare questo metodo in una funzione in un gestore eventi per l'evento PreSearch del controllo Lookup.

Example

L'esempio di codice seguente è relativo alla ricerca account del modulo opportunità (parentaccountid). Quando si imposta la Sdk.setParentAccountIdFilter funzione nel gestore eventi del modulo Onload , aggiungere la Sdk.filterCustomerAccounts funzione all'evento PreSearch per tale ricerca. Ricordarsi di selezionare l'opzione da passare nel contesto di esecuzione quando si imposta la funzione nel gestore eventi del modulo Onload . Il risultato è che vengono restituiti solo gli account con il valore Category (accountcategorycode) di Preferred Customer (1).

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