การจัดการ Layout Report RDLC ให้ Export ออกมาตาม Textbox ที่วางไว้

จากหัวข้อก็คงแปลกใจว่าทำไมต้องจัดการ Layout ในเมื่อ Textbox ที่เราวางไว้ สามารถ View Contract บนเว็บได้ปกติ

ในกรณีที่ Textbox มีมากและซับซ้อนเกินไป เมื่อ Export Word/PDF ออกมาแล้ว อาจเกิดปัญหา Layout เพี้ยนได้

ก่อนอื่นเลย เรามาเริ่มเปิด Control สำหรับ Export RDLC เป็น Word/PDF กัน

  • จากที่เคยเกริ่นไป ในการเขียน Controller และ View เพื่อ View Contract ที่เราจากมาแล้ว

เรามาเพิ่มเติมอีกนิด สำหรับ Controller เพื่อให้หน้าเว็บสามารถ Export Word/PDF กันได้ โดยการ

เพิ่ม ReportView.ShowExportcontrols = true; เข้าไปเท่านั้นเองครับ ทีนี้หน้าเว็บก็จะมี control สำหรับ export กันแล้ว

Image for post

แล้วเราจะจัดการยังไงล่ะ กับ Layout เหล่านี้ ให้ Export ออกมาแล้ว Layout ไม่เกิดเพี้ยน ในกรณีที่ Textbox ซับซ้อนเกินไป

การที่ Textbox, Rectangle หรือ Table อยู่วางกันในหน้ากระดาษเดียวมากเกินไป อาจทำให้ตอนคำนวณ Layout Export เกิดการเพี้ยนได้

แนะนำให้จัดการ Layout ตามนี้ เพื่อให้สามารถแก้ไข, ย้าย, เปลี่ยนแปลง และทำให้ไม่มีปัญหาเวลา Export ได้ครับ

  1. จัด Textbox เป็นชุดๆ และนำไปใส่ Rectangle
  2. ย้าย Rectangle หลาย Rectangle ไปอยู่ใน Rectangle เดียว
  3. นำ Table ไปใส่ใน Rectangle
  • จะสังเกตเห็นว่า แต่ละ Element ให้นำไปใส่ใน Rectangle จะช่วยเรื่อง Layout เราได้มากเลยครับ

 

จากตัวอย่าง

นำแต่ละ Element ไปใส่ใน Rectangle (โดยให้แต่ละ Rectangle ต้องเหลือพื้นที่อย่างน้อย 0.1cm เพื่อให้ตอน Export คำนวณ Layout ตามขนาดของ Rectangle ได้อย่างถูกต้อง)

Image for post

Image for post

Image for post

และนำ Rectangle ที่สร้างมาใหม่แต่ละชิ้นกลับมาวางที่เดิม PERFECT

Image for post

** จะสังเกตเห็นว่า จะเหลือพื้นที่ในแต่ละ Rectangle ไว้อย่างน้อย 0.1 cm เสมอ

Image for post

จากคร้งนี้เราต้องมาค่อยๆ ย้ายแต่ละ Rectangle ให้ชิดสนิทกันพอดี ซึ่งใช้เวลา และสายตาเพ่งพอสมควร บทต่อไป จะมาพูดถึงการย้ายแต่ละ Rectangle ได้สะดวก และแม่นยำกว่านี้ครับ