addCustomFilter (kliento API nuoroda)

Metodas addCustomFilter įtraukia filtrus į rezultatus, rodomus modelio valdomų programų peržvalgos valdiklyje. Kiekvienas filtras derinamas su anksčiau įtrauktais filtrais kaip AND sąlyga.

Palaikomi valdiklių tipai

Peržvalga

Sintaksė

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

Parametrai

Pavadinimas / vardas ir pavardė Type Aprašas
filter String Taikomas FetchXML filtro elementas.
entityLogicalName String Pasirinktinis. Jei nustatysite šį parametrą, filtras bus taikomas tik lentelės tipui. Kitu atveju jis taikomas visų tipų pateikiamų lentelių.

Pavyzdžiui, parametrui filter naudokite šį XML:

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

Pastabos

Naudokite šį metodą įvykio apdorojimo programoje , skirtoje peržvalgos valdiklio preSearch įvykiui.

Pavyzdžiui

Šis kodo pavyzdys skirtas galimybės formos kliento (parentaccountid) peržvalgai. Kai nustatote Sdk.setParentAccountIdFilter funkciją formos Onload įvykio apdorojimo programoje, įtraukite Sdk.filterCustomerAccounts funkciją į PreSearch tos peržvalgos įvykį. Nustatydami funkciją formos Onload įvykių apdorojimo programoje, nepamirškite pasirinkti parinkties perduoti vykdymo kontekste. Rezultatas yra tas, kad pateikiamos tik sąskaitos, kurių kategorijos (accountcategorycode) reikšmė yra Pageidaujamas klientas (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
formContext