ตัวควบคุม ASP.NET 2.0 FormView จะคล้ายกับตัวควบคุม DetailView ตรงที่จะแสดงแต่ละระเบียนจากแหล่งข้อมูลส่วนหลังได้อย่างสะดวก บทความนี้จะกล่าวถึงไวยากรณ์และการประยุกต์ใช้ตัวควบคุมนี้
การปรับแต่ง
แม้ว่าตัวควบคุมทั้งสองจะแสดงทีละระเบียน ความแตกต่างที่สำคัญระหว่าง DetailView และ FormView ก็คือ FormView ใช้เทมเพลตที่ผู้ใช้กำหนด; DetailView ใช้ฟิลด์แถว ตัวควบคุม FormView ไม่ได้กำหนดเค้าโครงข้อมูลไว้ล่วงหน้า แต่คุณสร้างเทมเพลตที่มีตัวควบคุมเพื่อแสดงแต่ละฟิลด์จากเรกคอร์ด เทมเพลตประกอบด้วยรูปแบบ การควบคุม และนิพจน์การโยงที่ใช้ในการสร้างแบบฟอร์ม
คุณสามารถควบคุมการแสดงบันทึกข้อมูลได้สามรูปแบบ: แก้ไข ดู และเพิ่มบันทึกใหม่ นอกจากนี้ คุณยังสามารถรวมและจัดรูปแบบองค์ประกอบส่วนหัวและส่วนท้ายได้ คุณยังสามารถใช้ประโยชน์จากตัวควบคุม ASP.NET ที่มีอยู่ในส่วนต่างๆ ของตัวควบคุม FormView ได้อีกด้วย
ไวยากรณ์สำหรับ
การประกาศและการใช้อินสแตนซ์การควบคุม FormView นั้นคล้ายกับการประกาศและการใช้อินสแตนซ์การควบคุม DetailView มาก ข้อแตกต่างที่สำคัญคือ เนื่องจากไม่มีการตั้งค่าเริ่มต้นให้ใช้ คุณต้องรวมรูปแบบและเทมเพลตสำหรับการแสดงข้อมูลในตัวควบคุม FormView รายการ A แสดงส่วนหนึ่งของไวยากรณ์สำหรับการเปิดแท็กองค์ประกอบ FormView
คุณอาจสังเกตเห็นว่าแอตทริบิวต์จำนวนมากสอดคล้องกับองค์ประกอบตาราง HTML เช่น ชื่อเรื่องและเส้นขอบ นี่แสดงว่า ASP.NET ใช้ตาราง HTML เพื่อแสดงตัวควบคุม FormView
คุณสามารถดูรายการคุณสมบัติการควบคุม FormView ที่ครอบคลุมมากขึ้นทางออนไลน์ผ่านทางเว็บไซต์ Microsoft ตารางด้านล่างแสดงคุณสมบัติที่สำคัญบางประการที่ต้องระวัง
·AllowPaging: ค่าบูลีนที่ระบุว่าผู้ใช้สามารถเพจเรคคอร์ดในแหล่งข้อมูลที่ระบุได้หรือไม่ หากตั้งค่าเป็นจริง จะแสดงระบบเลขหน้าเริ่มต้น (ตั้งแต่ 1 ถึงจำนวนเรคคอร์ด) ที่ด้านล่างของเรคคอร์ดที่แสดง ลิงก์การแบ่งหน้าสามารถปรับแต่งได้ผ่านคุณสมบัติการแบ่งหน้าต่างๆ
·DataKeyNames: ฟิลด์คีย์ของแหล่งข้อมูล
·DataSourceID: ใช้เพื่อย้าย ID องค์ประกอบแหล่งข้อมูลตัวควบคุม FormView หากใช้ SQL Server จะสอดคล้องกับ ID ที่กำหนดให้กับองค์ประกอบ SqlDataSource
·DefaultMode: ช่วยให้คุณสามารถระบุลักษณะการทำงานเริ่มต้นของตัวควบคุมได้ นั่นคือวิธีการแสดงครั้งแรกเมื่อผู้ใช้เข้าถึง ค่าที่เป็นไปได้ได้แก่: อ่านอย่างเดียว แทรก และแก้ไข
·EmptyDataText: ข้อความที่แสดงเมื่อพบค่าข้อมูลว่าง
เมื่อคุณประกาศตัวควบคุม FormView เนื้อหาจะต้องถูกจัดรูปแบบตามนั้นด้วย ข้อมูลของมันจะแสดงผ่านเทมเพลต ตัวควบคุม FormView ส่วนใหญ่จะใช้เทมเพลต 5 แบบ:
·ItemTemplate: ควบคุมการแสดงผลเมื่อผู้ใช้ดูข้อมูล
·EditItemTemplate: จะกำหนดรูปแบบและการแสดงองค์ประกอบข้อมูลเมื่อผู้ใช้แก้ไขบันทึก ภายในเทมเพลตนี้ คุณจะใช้การควบคุมอื่นๆ เช่น องค์ประกอบกล่องข้อความ เพื่อให้ผู้ใช้สามารถแก้ไขค่าได้
·InsertItemTemplate: คล้ายกับการแก้ไขเรกคอร์ด เทมเพลตนี้ควบคุมการแสดงฟิลด์ที่อนุญาตให้ผู้ใช้เพิ่มเรกคอร์ดใหม่ในแหล่งข้อมูลส่วนหลัง เมื่อป้อนค่าใหม่ ผู้ใช้ควรได้รับอนุญาตให้ป้อนข้อความได้อย่างอิสระหรือจำกัดเฉพาะค่าบางค่า ขึ้นอยู่กับข้อกำหนดของข้อมูล
·FooterTemplate: กำหนดเนื้อหาที่แสดงในส่วนท้ายของตารางควบคุม FormView ถ้ามี
·HeaderTemplate: กำหนดเนื้อหาที่แสดงในส่วนหัวของตารางควบคุม FormView ถ้ามี
เทมเพลตเหล่านี้ช่วยให้คุณควบคุมการแสดงและลักษณะการทำงานของข้อมูลที่เชื่อมโยงกับตัวควบคุม FormView ตัวอย่างเช่น เว็บฟอร์ม ASP.NET ในรายการ B เชื่อมต่อกับฐานข้อมูล Northwind มาตรฐาน และอนุญาตให้ผู้ใช้ดู แก้ไข ลบ และเพิ่มบันทึกพนักงานใหม่ผ่านทางช่องชื่อ นามสกุล วันที่จ้าง และหมายเลขโทรศัพท์บ้าน
ใช้ตัวควบคุม TextField เพื่อแสดงข้อมูลที่กำลังแก้ไขหรือเพิ่ม รวมถึงค่าที่แสดงเพื่อการตรวจทานเท่านั้น ItemTemplate ใช้ CSS เพื่อจัดรูปแบบตาราง ในขณะที่ InsertTemplate ใช้สไตล์ HTML ในการจัดรูปแบบ นักพัฒนาจะเป็นผู้ตัดสินใจว่าจะเลือกใช้วิธีใด
หมายเหตุ: ASP.NET ใช้ปุ่มควบคุมเพื่อเพิ่ม แก้ไข ลบ และบันทึกระเบียน
ในตัวควบคุมปุ่ม ค่า CommandName ของ New จะแปลงเรกคอร์ดเป็นโหมดแทรกและโหลดเทมเพลต InsertItemTemplate ซึ่งอนุญาตให้ผู้ใช้ป้อนค่าเรกคอร์ดใหม่ คุณสามารถใช้ค่า แก้ไข CommandName เพื่อเพิ่มปุ่มใหม่ให้กับ ItemTemplate เพื่อนำตัวควบคุม FormView เข้าสู่โหมดแก้ไข
คุณสามารถเพิ่มปุ่มที่มีค่า CommnadName เป็น Delete ให้กับเทมเพลต ItemTemplate เพื่อให้ผู้ใช้สามารถลบเรกคอร์ดปัจจุบันออกจากแหล่งข้อมูลได้ CommnadName ของการอัปเดตจะบันทึกข้อมูล ในขณะที่ Cancel ยุติการดำเนินการ
เป็นเรื่องน่าทึ่งที่
นักพัฒนาสามารถควบคุม
ฟีเจอร์ใหม่ๆ ของ ASP.NET 2.0 ได้อย่างง่ายดายFormView ขยายฟังก์ชันการทำงานที่เรียบง่ายของ DetailView ช่วยให้คุณสามารถควบคุมเนื้อหาที่แสดงเพื่อจัดรูปแบบตามต้องการได้อย่างง่ายดาย การควบคุมใหม่นี้ให้ทางเลือกอื่นแก่คุณในการนำเสนอโซลูชันของคุณ