(For Users) การ Hide บาง Column ไม่ให้ Edit/Add ใน SharePoint List (Online)

Narisorn Limpaswadpaisarn
EchoO365
Published in
3 min readOct 28, 2019

Content difficulty — ทั่วไป

SharePoint List มีความคล้าย Excel โดยที่มีระบบ Columnar เหมือนตาราง แต่ก็มีความหลายหลายในเรื่องการเก็บค่าเป็น Column type ต่างๆเช่น เป็น Choice, Yes/No, เป็นค่าเงิน, เป็นไฟล์แนบ หรือ รูปภาพ ซึ่งเราจะนำมันไป ทำการ เก็บข้อมูลต่างๆ ในงาน Operational ภายในได้เช่น Product Catalog, ข้อมูลบุคคลต่างๆ หรือ แม้กระทั้งเป็นถึงระดับเก็บ Business Process จนไปถึง เอกสารสัญญา หรือ MOU ได้เลย และ Column ก็จะสามารถ Sort หรือ Group by รวมถึง Index เพื่อที่จะ search ได้ด้วย ทำให้มีการ พัฒนามาใช้งานมนรูปแบบต่างๆ เช่น รวมกับ App อย่าง PowerApps หรือ ให้ Developer เขียนโปรแกรมมาครอบเพื่อให้มี feature มากกว่าเดิมในหน้า SharePoint site นั้นๆ เป็นต้น

การเก็บเอกสาร file ต่างๆกรณีส่วนใหญ่ จะเก็บใน SharePoint ส่วนของ Document Library จะเหมาะสมกว่า ซึ่งจริงๆแล้วมีโครงสร้างแบบ คล้ายแบบ SharePoint List แต่ใน SharePoint List ก็จะมี column ที่ชื่อ Attachment ให้เก็บ

SharePoint List (เก็บเป็น Product Catalogs)
Column เมื่อ edit/add/update ก็ใส่ตาม Column types เช่น Choices (drop down) หรือ Text ให้พิมพ์
Column Type มีหลากหลาย
หรืออย่าง SharePoint List นี้เก็บข้อมูลของ vendor ต่างๆ และทำการ view แบบ Group By ได้

ซึ่งแน่นอนว่า user ทำ manual เข้าไปจัดการเอง หรือจะพัฒนาให้ automate จากระบบอื่น เพื่อจัดการ SharePoint List หลักๆ Common Activity คือ Create, Read, Update และ Delete ตัว List บน SharePoint ใน แต่ละ Row (ซึ่งใน SharePoint จะเรียกว่า Item)

ปัญหา

แต่มีความต้องการบางอย่าง เช่น เราอยากจะ add item แต่จะซ่อนบาง column ไม่ให้ edit ให้มีเห็นแค่ตอน view ใน SharePoint List อย่างเดียว

อาจจะงงๆ ให้ดูตัวอย่าง List ของ SharePoint List อันนี้ สมมุติว่าเป็น list ให้ user มาขอ request คนที่เป็น technical specialist ไปทำงาน ตามสายต่างๆ (Product Group) และให้ใส่ตัวเลขเงินเป็น cost (Amount) และก็มี Status ว่า Manager ได้ Approve หรือ Reject ซึ่ง user ก็จะดูผลได้จาก view นี้

SharePoint List เก็บข้อมูล Business Process

ปัญหาคือ เวลาเรา +New เพื่อ Add Item (ซึ่งในสถานการณ์นี้คือการขอ Request) ตัว column ชื่อ Approval มันก็ขึ้นมาให้ปรับพร้อมกับ parameter อื่นด้วย ซึ่งคนขอ request ไม่ควรมา Approve ตัวเองได้

ตัว Approval ที่ไม่ควรมาให้ Approve ตัวเอง

จากระบบนี้เราต้องการให้คนขอสามารถดู column ของ Approval ได้แต่ไม่ได้ต้องการให้ Add เอง หรือ มา Edit ซึ่งระบบนี้ข้างหลังจะผูกกับ Power Automate (Flow) เพื่อทำ Automation ส่ง mail ไปให้ Manager ทำการ Approve และ ให้ไปกรอก status เองแบบอัตโนมัติ

เบื้องหลังจะให้ระบบ Power Automate จัดการ
ให้ Manager ของคน Request มาทำการสั่ง Approve เองเพื่อไป Update item บน SharePoint

วิธีแก้ปัญหา

ให้ SharePoint Owner ไปที่หน้า SharePoint List นั้น คลิก Gear Icon แล้ว ไปที่หน้า List Settings จากนั้น คลิก Advanced Settings ที่หน้านั้นให้เลือก Yes ที่ Allow management of content types? แล้วเลื่อนไปด่านล่าง คลิก ok เพื่อ save

List settings
Advanced settings

จากนั้นย้อนกลับไปที่ List settings ใต้ content types จะมี ตัวเลือกโผล่มาให้เห็นอันใหม่ ให้คลิกที่ Item แล้วเข้าไปคลิกที่ column ชื่อ Approval

มี Content Type โผล่ขึ้นมาให้คลิกได้
คลิก column ที่ต้องการ

สุดท้ายให้เลือกเปลี่ยนจาก Required เป็น Hidden แล้วลองกลับออกมาทดสอบดูกับการ Add/Edit ตัว Item ใน SharePoint List

Hidden (Will not appear in forms)
Approval หายไปแล้ว ตอน Add หรือ Edit
แต่ในหน้า SharePoint List view ดูได้เหมือนเดิม

--

--

Narisorn Limpaswadpaisarn
EchoO365

Office 365 and Modern Workplaces: Please follow my publication https://medium.com/echoo365 for Microsoft 365 & Power Platform Blog (In Thai)