addCustomFilter (การอ้างอิง API ไคลเอ็นต์)

เมธอด จะ addCustomFilter เพิ่มตัวกรองไปยังผลลัพธ์ที่แสดงในตัวควบคุมการค้นหาในแอปแบบจําลองข้อมูล ตัวกรองแต่ละตัวจะถูกรวมเข้ากับตัวกรองที่เพิ่มไว้ก่อนหน้านี้เป็น AND เงื่อนไข

ประเภทตัวควบคุมที่ได้รับการสนับสนุน

การค้นหา

ไวยากรณ์

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

พารามิเตอร์

ชื่อ ประเภท คำอธิบาย
filter สตริง องค์ประกอบตัวกรอง FetchXML ที่จะนําไปใช้
entityLogicalName สตริง ไม่จำเป็น หากคุณตั้งค่าพารามิเตอร์นี้ ตัวกรองจะใช้กับชนิดตารางนั้นเท่านั้น มิฉะนั้นจะนําไปใช้กับตารางทุกประเภทที่ส่งกลับ

ตัวอย่างเช่น ใช้ XML ต่อไปนี้สําหรับ filter พารามิเตอร์:

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

หมายเหตุ

ใช้วิธีนี้ในฟังก์ชันในตัวจัดการเหตุการณ์สําหรับเหตุการณ์ Lookup Control PreSearch

ตัวอย่าง

ตัวอย่างรหัสต่อไปนี้มีไว้สําหรับการค้นหาบัญชีฟอร์มโอกาสทางการขาย (parentaccountid) เมื่อคุณตั้งค่า Sdk.setParentAccountIdFilter ฟังก์ชันในตัวจัดการเหตุการณ์ของฟอร์ม Onload ให้ Sdk.filterCustomerAccounts เพิ่มฟังก์ชันลงใน PreSearch เหตุการณ์สําหรับการค้นหานั้น อย่าลืมเลือกตัวเลือกที่จะส่งผ่านในบริบทการดําเนินการเมื่อตั้งค่าฟังก์ชันในตัวจัดการเหตุการณ์ของฟอร์มOnload ผลลัพธ์คือระบบจะแสดงเฉพาะบัญชีที่มีค่า ประเภท (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");
};

addPreSearch
formContext