addCustomFilter (Client-API-Referenz)

Die addCustomFilter Methode fügt den Ergebnissen, die in einem Nachschlagesteuerelement in modellgesteuerten Apps angezeigt werden, Filter hinzu. Jeder Filter wird mit allen zuvor hinzugefügten Filtern als AND Bedingung kombiniert.

Unterstützte Steuerelementtypen

Suche

Syntax

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

Parameter

Name Type Description
filter String Das anzuwendende FetchXML-Filterelement.
entityLogicalName String Optional. Wenn Sie diesen Parameter festlegen, gilt der Filter nur für diesen Tabellentyp. Andernfalls gilt dies für alle Arten von zurückgegebenen Tabellen.

Verwenden Sie z. B. den folgenden XML-Code für den filter Parameter:

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

Anmerkungen

Verwenden Sie diese Methode in einer Funktion in einem Ereignishandler für das Lookup Control PreSearch-Ereignis.

Beispiel

Das folgende Codebeispiel ist für das Verkaufschancenformularkonto (parentaccountid) nachschlagen. Wenn Sie die Sdk.setParentAccountIdFilter Funktion im Formularereignishandler Onload festlegen, fügen Sie die Sdk.filterCustomerAccounts Funktion dem Ereignis für diese PreSearch Suche hinzu. Denken Sie daran, beim Festlegen der Funktion im Formularereignishandler Onload die Option zum Übergeben des Ausführungskontexts auszuwählen. Das Ergebnis ist, dass nur Konten mit dem Wert Kategorie (accountcategorycode) des bevorzugten Kunden (1) zurückgegeben werden.

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