Zdieľať cez


addCustomFilter (odkaz na klientske rozhranie API)

Pridá filtre do výsledkov zobrazených vo vyhľadávaní. Každý filter bude skombinovaný so všetkými predtým pridanými filtrami ako podmienkou AND .

Podporované typy ovládacích prvkov

Vyhľadávanie

Syntax

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

Parametre

  • filter: Reťazec. Použije sa prvok filtra fetchXml. Napríklad:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (Voliteľný) Reťazec. Ak je táto možnosť nastavená, filter sa vzťahuje len na tento typ tabuľky. V opačnom prípade sa vzťahuje na všetky typy vrátených tabuliek.

Poznámky

Túto metódu možno použiť iba vo funkcii v obsluhe udalosti pre udalosť PreSearch Event ovládacieho prvku vyhľadávania.

Príklad

Nasledujúca ukážka kódu je pre vyhľadávanie konta formulára príležitosti (parentaccountid). Keď je v obsluhe udalosti Onload nastavená funkcia Sdk.setParentAccountIdFilter, funkcia Sdk.filterCustomAccounts sa pridá do udalosti PreSearch pre toto vyhľadávanie. Pri nastavovaní funkcie v obsluhe udalostí Onload formulára nezabudnite vybrať možnosť odovzdať do kontextu spustenia. Výsledkom je, že sa vrátia iba kontá s hodnotou Kategória (kódkategórieÚčtu) 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