ค้นหาเว็บไซต์

SharePoint Online: แสดงหรือซ่อนฟิลด์ฟอร์มโดยอิงจากฟิลด์อื่นโดยใช้สูตรตามเงื่อนไข


ความต้องการ: แสดงหรือซ่อนฟิลด์ตามค่าของฟิลด์อื่นในแบบฟอร์มรายการ SharePoint Online

จะแสดงหรือซ่อนฟิลด์ตามฟิลด์อื่นใน SharePoint Online ได้อย่างไร

ในอดีต เราเคยบรรลุเป้าหมายนี้โดยใช้ jQuery แสดงหรือซ่อนเขตข้อมูลแบบฟอร์มรายการ SharePoint ตามค่าของเขตข้อมูลอื่นโดยใช้ jQuery ขณะนี้ใน SharePoint Online เรามีสูตรแบบมีเงื่อนไขเพื่อให้บรรลุฟังก์ชันการทำงานดังกล่าว นี่คือสิ่งที่เราต้องการ: แสดงฟิลด์ "การจำแนกประเภทโครงการ" เฉพาะเมื่อค่าฟิลด์ "สถานะโครงการ" ถูกตั้งค่าเป็น "ใช่" เท่านั้น มิฉะนั้นให้ซ่อนไว้ในแบบฟอร์มรายการ ใน SharePoint Online คุณสามารถใช้สูตรตามเงื่อนไขเพื่อระบุสิ่งที่จะเกิดขึ้นตามเงื่อนไขบางอย่างในคอลัมน์ ต่อไปนี้คือวิธีกำหนดค่าสูตรตามเงื่อนไขเพื่อแสดง/ซ่อนคอลัมน์ตามคอลัมน์อื่นๆ:

  1. ไปที่รายการ SharePoint Online ของคุณ >> เปิดแบบฟอร์มรายการใหม่โดยคลิกที่ปุ่ม "ใหม่" ในรายการของคุณ
  2. ในหน้ารายการใหม่ คลิกที่ปุ่ม "แก้ไขแบบฟอร์ม" จากนั้น "แก้ไขคอลัมน์" ดังที่แสดงในหน้าจอด้านล่าง

  3. ตอนนี้ในแบบฟอร์ม "แก้ไขคอลัมน์" ให้คลิกที่จุดสามจุด (:) และเลือก "แก้ไขสูตรตามเงื่อนไข" จากเมนู ในกรณีของฉัน มันคือช่อง "การจำแนกโครงการ" ที่ฉันต้องการแสดงหรือซ่อน

  4. ในสูตรตามเงื่อนไข ให้ป้อนสูตรเพื่อแสดงและซ่อนเขตข้อมูล ในกรณีของฉัน ฉันได้ป้อน “=if([$IsActive] == true, 'true', 'false')” แล้วกดบันทึกเพื่อยืนยันการเปลี่ยนแปลงของคุณ ตรวจสอบให้แน่ใจว่าคุณใช้ชื่อภายในของคอลัมน์ แทนชื่อที่แสดง

  5. ตอนนี้ ฟิลด์ "การจำแนกประเภทโครงการ" จะปรากฏเฉพาะเมื่อค่าฟิลด์ "IsActive" ถูกตั้งค่าเป็น True!

สูตรตามเงื่อนไขต้องขึ้นต้นด้วยสัญลักษณ์ “=” ตามด้วยเงื่อนไข “IF” หากตรงตามเงื่อนไข ก็จะคืนค่าเป็นจริง และนั่นจะแสดงฟิลด์ มิฉะนั้นจะส่งคืนค่าเท็จและซ่อนฟิลด์

โปรดทราบว่า ณ ปัจจุบันนี้ ระบบไม่รองรับทุกคอลัมน์ในสูตรแบบมีเงื่อนไข เช่น คอลัมน์ Metadata ที่มีการจัดการ บุคคลหรือกลุ่ม/ตัวเลือกที่เปิดใช้งานการเลือกหลายรายการ คอลัมน์สกุลเงิน ตำแหน่ง คอลัมน์จากการคำนวณ ฯลฯ อยู่ภายใต้รายการ "ไม่รองรับ" นอกจากนี้ ในคอลัมน์ที่ทำเครื่องหมายว่า "จำเป็น" เราไม่สามารถใช้สูตรตามเงื่อนไขเพื่อแสดงหรือซ่อนได้ (เห็นได้ชัดเจนใช่ไหม) นี่คือตัวอย่างบางส่วน:

Column Type

ตัวอย่างสูตร

Yes/No (check box) – Boolean

=if([$ProjectStatus]=='เสร็จสิ้น','จริง', 'เท็จ')

Number

=if([$Budget]>5000,'true','false')

Choice

=if([$แผนก]=='ไอที','จริง', 'เท็จ')

Date

=if([$StartDate]==Date('01/01/20221′),'true','false')

Person

=if([$ผู้อนุมัติ].email==’approver@yourdomain.com’,’true’,’false’)

Column with calculation

=if([$Column1]+[$Column2]<5000,'true','false')

PnP PowerShell เพื่อตั้งค่าสูตรตามเงื่อนไข

ต่อไปนี้เป็นวิธีการตั้งค่าสูตรตามเงื่อนไขโดยใช้ PnP PowerShell:


#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/PMO"
$ListName="Projects"
$FieldInternalName = "Project_x0020_Classification"
$Formula = "=if([{0}] == true, 'true', 'false')" -f '$IsActive'

#Connect to the site
Connect-PnPOnline -Url $SiteURL -Interactive
 
#Get the Field
$Field = Get-PnPField -List $ListName -Identity $FieldInternalName

#Apply conditional formula 
$Field.ClientValidationFormula = $Formula
$Field.Update()
Invoke-PnPQuery

ข้อมูลเพิ่มเติมเกี่ยวกับสูตรตามเงื่อนไขในแบบฟอร์มรายการ SharePoint Online: https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/list-form-conditional-show-hide

บทความที่เกี่ยวข้อง