Compartilhar via


addCustomFilter (referência da API do cliente)

Adiciona filtros aos resultados exibidos na pesquisa. Cada filtro será combinado com todos os filtros adicionados anteriormente como uma condição AND .

Tipos de controle com suporte

Busca

Sintaxe

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

Parâmetros

  • filtro: Cadeia de caracteres. O elemento de filtro fetchXml a ser aplicado. Por exemplo:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (Opcional) Cadeia de caracteres. Se isso for definido, o filtro só se aplicará a esse tipo de tabela. Caso contrário, ele se aplica a todos os tipos de tabelas retornadas.

Observações

Esse método só pode ser usado em uma função em um manipulador de eventos para o evento PreSearch de Controle de Pesquisa.

Example

O exemplo de código a seguir é para a pesquisa conta de formulário de oportunidade (parentaccountid). Quando a função Sdk.setParentAccountIdFilter é definida no manipulador de eventos Onload do formulário, a função Sdk.filterCustomAccounts é adicionada ao evento PreSearch para essa pesquisa. Lembre-se de selecionar a opção para passar no contexto de execução ao definir a função no manipulador de eventos Onload do formulário. O resultado é que somente contas com o valor de Categoria (accountcategorycode) de Cliente Preferencial (1) serão retornadas.

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