Comparteix via


addCustomFilter (referència de l'API del client)

Afegeix filtres als resultats que es mostren a la cerca. Cada filtre es combinarà amb els filtres afegits anteriorment com a AND condició.

Tipus de control admesos

Cerca

Sintaxi

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

Paràmetres

  • filter: Cadena. L'element de filtre fetchXml que s'ha d'aplicar. Per exemple:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: cadena (opcional). Si s'estableix, el filtre només s'aplica a aquest tipus de taula. En cas contrari, s'aplica a tots els tipus de taules retornades.

Observacions

Aquest mètode només es pot utilitzar en una funció d'un controlador d'incidències per a l'esdeveniment de cerca prèvia del control de cerca.

Exemple

L'exemple de codi següent és per a la cerca Compte del formulari d'oportunitat (parentaccountid). Quan la funció Sdk.setParentAccountIdFilter es defineix al controlador d'incidències Onload , la funció Sdk.filterCustomAccounts s'afegeix a la incidència PreSearch per a aquesta cerca. Recordeu seleccionar l'opció per passar en el context d'execució quan configureu la funció en el formulari Onload controlador d'esdeveniments. El resultat és que només es retornaran els comptes amb el valor Category (accountcategorycode) de Client preferent (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
formulariContext