Condividi tramite


addCustomFilter (informazioni di riferimento sulle API client)

Aggiunge filtri ai risultati visualizzati nella ricerca. Ogni filtro verrà combinato con qualsiasi filtro aggiunto in precedenza come AND condizione.

Tipi di controllo supportati

Ricerca

Sintassi

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

Parametri

  • filter: Stringa. Elemento filtro fetchXml da applicare. Per esempio:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (facoltativo) Stringa. Se questa opzione è impostata, il filtro si applica solo a quel tipo di tabella. In caso contrario, si applica a tutti i tipi di tabelle restituite.

Osservazioni:

Questo metodo può essere usato solo in una funzione in un gestore eventi per l'evento PreSearch del controllo di ricerca.

Example

L'esempio di codice seguente è relativo alla ricerca account (parentaccountid) del modulo Opportunità. Quando la funzione Sdk.setParentAccountIdFilter viene impostata nel gestore eventi Onload del modulo, la funzione Sdk.filterCustomAccounts viene aggiunta all'evento PreSearch per tale ricerca. Ricordarsi di selezionare l'opzione da passare nel contesto di esecuzione quando si imposta la funzione nel modulo Gestore eventi Onload . Il risultato è che verranno 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
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