Partilhar via


addCustomFilter (referência da API do cliente)

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

Tipos de controlo suportados

Busca

Sintaxe

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

Parâmetros

  • filter: String. O elemento de filtro fetchXml a ser aplicado. Por exemplo:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (Opcional) String. Se isso for definido, o filtro só se aplica a esse tipo de tabela. Caso contrário, aplica-se 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 de pré-pesquisa de controle de pesquisa.

Example

O exemplo de código a seguir é para a pesquisa Conta do formulário de oportunidade (parentaccountid). Quando a função Sdk.setParentAccountIdFilter é definida no manipulador de eventos Onload do formato, 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 apenas as contas com o valor de Categoria (accountcategorycode) de Cliente Preferencial (1) serão devolvidas.

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