การสร้าง Report RDLC แบบมีเงื่อนไขการซ่อน Textbox

บาง Report หรือแบบฟอร์ม ต้องการเงื่อนไข Dynamic สำหรับออกแบบฟอร์มมาให้ตรงตามสถานการณ์นั้นๆ

กรณีนี้จะพูดถึงกรณีที่ต้องการจะซ่อน Textbox ที่มีข้อความอยู่ ไม่ให้แสดงในแบบฟอร์ม

  • วิธีการเขียน Report แบบมีเงื่อนไขการซ่อน เมื่อมีเงื่อนไข เช่นมีแบบฟอร์มใบสมัครที่ให้กรอกชื่อข้อมูลส่วนตัว ดังนี้

Image for post

โจทย์คือ เราต้องการซ่อน Textbox ชื่อสกุลคู่สมรสจากแบบฟอร์มที่ต้องออกให้ User กรอก ถ้ากรอกสถานะเป็น “โสด”

ความจริงแล้วเราสามารถซ่อน Textbox ได้

Image for post

Image for post

เมื่อเราตั้ง Properties ของ Textbox ให้ซ่อนได้แล้ว เราก็จัดการซ่อนทั้งสอง Textbox เลย ทั้ง Textboxที่เป็นข้อความ “ชื่อ-สกุล คู่สมรส” และ Textbox ที่เป็นช่องข้อความให้กรอก ผลลัพธ์ที่ได้

Image for post

กลายเป็นว่า เราแค่ซ่อนให้หายไปเท่านั้นเอง กลายเป็นช่องว่างเปล่าอยู่ตรงนั้นแทน

 

  • วิธีซ่อน Textbox โดยให้ส่วนที่เหลือเลื่อนขึ้นไปด้วย เราจับ Textbox ใส่ใน Rectangle แล้วเอาไปใส่ใน Table ครับ

1.new Rectangle ขึ้นมาและเอา Textbox ไปใส่ครับ

Image for post

Image for post

2.จากนั้น new Table แล้วลบ Cell ให้เหลือแค่ช่องเดียว (สำหรับ ซ่อนแสดง) และนำ Rectangle ที่มี Textbox อยู่ในนั้น ใส่ใน Cell นั้นครับ

Image for post

3.ทีนี้เราเอามาใส่ไว้ที่เดิม แล้วสั่งซ่อนแถวของ Table เลยครับ

Image for post

Image for post

จะได้ผลลัพธ์ดังนี้

Image for post

ทีนี้แถวนั้น ที่เป็น ชื่อ-สกุล คู่สมรสก็ถูกซ่อนไปจากแบบฟอร์มแล้ว

  • อยู่ที่การปรับใช้ บางครั้งเราอาจจะต้องการแค่ซ่อน Textbox โดยไม่ให้ข้อความข้างล่างเลื่อนขึ้นมา สั่งซ่อน Textbox เฉยๆ ก็ใช้ได้แล้วครับ อยู่ที่ว่ากรณีนั้นๆ ต้องการแสดงแบบฟอร์มแบบไหนให้ User เห็นครับ