addCustomFilter (Tài liệu tham khảo về API máy khách)

Phương pháp addCustomFilter này thêm bộ lọc vào kết quả được hiển thị trong điều khiển tra cứu trong các ứng dụng dựa trên mô hình. Mỗi bộ lọc được kết hợp với bất kỳ bộ lọc nào đã thêm trước đó dưới dạng một AND điều kiện.

Các loại điều khiển được hỗ trợ

Tra cứu

Cú pháp

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

Tham số

Tên Type Mô tả
filter Chuỗi Yếu tố lọc FetchXML cần áp dụng.
entityLogicalName Chuỗi Không bắt buộc. Nếu bạn đặt tham số này, bộ lọc chỉ áp dụng cho loại bảng đó. Nếu không, nó sẽ áp dụng cho tất cả các loại bảng được trả về.

Ví dụ: sử dụng XML sau đây cho tham filter số:

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

Ghi chú

Sử dụng phương pháp này trong một hàm trong bộ xử lý sự kiện cho Sự kiện Trước khi Tìm kiếm Điều khiển Tra cứu.

Ví dụ

Mẫu mã sau đây dành cho tra cứu Tài khoảnbiểu mẫu Cơ hội (parentaccountid). Khi bạn đặt hàm Sdk.setParentAccountIdFilter trong bộ xử lý sự Onload kiện biểu mẫu, hãy thêm hàm Sdk.filterCustomerAccounts vào sự PreSearch kiện cho tra cứu đó. Hãy nhớ chọn tùy chọn chuyển trong ngữ cảnh thực thi khi đặt hàm trong bộ xử lý sự Onload kiện biểu mẫu. Kết quả là chỉ những tài khoản có giá trị Danh mục (accountcategorycode) của Khách hàng Ưu tiên (1) mới được trả về.

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