Sdílet prostřednictvím


addCustomFilter (referenční dokumentace k rozhraní API klienta)

Přidá filtry do výsledků zobrazených ve vyhledávání. Každý filtr se zkombinuje s všemi dříve přidanými filtry jako podmínkou AND .

Podporované typy ovládacích prvků

Vyhledat

Syntaxe

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

Parametry

  • filter: String. Element filtru fetchXml, který se má použít. Například:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (volitelný) řetězec. Pokud je tato možnost nastavená, filtr se vztahuje pouze na tento typ tabulky. V opačném případě platí pro všechny typy vrácených tabulek.

Poznámky

Tuto metodu lze použít pouze ve funkci v obslužné rutině události pro událost Ovládací prvek Vyhledávání PreSearch Událost.

Example

Následující ukázka kódu je pro vyhledávání account (parentaccountid) formuláře Opportunity. Pokud je v obslužné rutině události Onload nastavena funkce Sdk.setParentAccountIdFilter, přidá se funkce Sdk.filterCustomAccounts do události PreSearch pro toto vyhledávání. Nezapomeňte vybrat možnost předat kontext spuštění při nastavení funkce ve formuláři Onload obslužné rutiny události. Výsledkem je, že se vrátí pouze účty s hodnotou Category (accountcategorycode) preferovaného zákazníka (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