此 addCustomFilter 方法在模型驅動應用程式中,為查詢控制項中顯示的結果加入篩選條件。 每個濾波器都會與先前新增的濾波器結合作為 AND 條件。
支援的控制項類型
查詢
語法
formContext.getControl(arg).addCustomFilter(filter, entityLogicalName)
參數
| 名稱 | 類型 | Description |
|---|---|---|
filter |
String | 要套用的 FetchXML 篩選元素。 |
entityLogicalName |
String | Optional. 如果你設定這個參數,過濾器只會適用於該表格類型。 否則,它會套用至傳回的所有資料表類型。 |
例如,參數使用以下 XML filter 檔:
<filter type="and">
<condition attribute="address1_city" operator="eq" value="Redmond" />
</filter>
備註
在事件處理程序中用於 查找控制預搜尋事件的函式中。
Example
以下程式碼範例是用於機會表單帳戶查詢parentaccountid。 當你在 Form Onload 事件處理子中設定該Sdk.setParentAccountIdFilter函式時,將該Sdk.filterCustomerAccounts函式加入PreSearch該查詢的事件中。 在 form Onload event handler 設定函式時,記得在執行上下文中選擇傳遞的選項。 結果是只有優先accountcategorycode客戶(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");
};