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

El addCustomFilter mètode afegeix filtres als resultats que es mostren en un control de cerca en aplicacions basades en models. Cada filtre es combina amb qualsevol filtre afegit prèviament com a AND condició.

Tipus de control admesos

Cerca

Sintaxi

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

Paràmetres

Nom Type Descripció
filter Corda L'element de filtre FetchXML que s'ha d'aplicar.
entityLogicalName Corda Opcional. Si configures aquest paràmetre, el filtre només s'aplica a aquest tipus de taula. En cas contrari, s'aplica a tots els tipus de taules retornades.

Per exemple, utilitza el següent XML per al filter paràmetre:

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

Observacions

Utilitza aquest mètode en una funció d'un gestor d'esdeveniments per a l'Esdeveniment Pre-Cerca del Control de Cerca.

Exemple

El següent exemple de codi és per a la cerca de compte (parentaccountid) del formulari d'oportunitat. Quan configuris la Sdk.setParentAccountIdFilter funció al gestor d'esdeveniments del formulari Onload , afegeix la Sdk.filterCustomerAccounts funció a l'esdeveniment PreSearch per a aquesta consulta. Recorda seleccionar l'opció de passar en el context d'execució quan configuris la funció al gestor d'esdeveniments de formulari Onload . El resultat és que només es retornen els comptes amb el valor de Categoria (accountcategorycode) de Client Preferent (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
formulariContext