Chia sẻ qua


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

Thêm bộ lọc vào kết quả được hiển thị trong tra cứu. Mỗi bộ lọc sẽ được kết hợp với bất kỳ bộ lọc nào đã được thêm trước đó dưới dạng một điều AND 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ố

  • bộ lọc: Chuỗi. Thành phần lọc fetchXml cần áp dụng. Ví dụ:

    <filter type="and">
      <condition attribute="address1_city" operator="eq" value="Redmond" />
    </filter>
    
  • entityLogicalName: (Tùy chọn) Chuỗi. Nếu được đặt, 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ề.

Ghi chú

Chỉ có thể 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ản biểu mẫu hội (parentaccountid). Khi hàm Sdk.setParentAccountIdFilter được đặt trong bộ xử lý sự kiện Onload biểu mẫu, hàm Sdk.filterCustomAccounts sẽ được thêm vào sự kiện PreSearch cho tra cứu đó. Hãy nhớ chọn tùy chọn chuyển qua trong ngữ cảnh thực thi khi đặt hàm trong bộ xử lý sự kiện Onload của 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
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