วิธีสลับสีแถวข้อความใน Crystal Report เมื่อมีการจัด Group
ในการอ่านหรือดูรายงานหนึ่ง ๆ นั้น แม้ข้อมูลจะมีการจัดเป็นข้อ ๆ แล้วหรือมีการจัดกลุ่มข้อความนั้นแล้วก็ตาม แต่เมื่อข้อมูลมีจำนวนมาก ก็อาจทำให้เราวิงเวียน ตาลายได้ ดังนั้นในฐานะผู้จัดทำรายงานคนหนึ่ง ก็พยายามหาทางให้ผู้ใช้สามารถอ่านรายงานได้ง่าย โดยการใส่สีข้อความสลับบรรทัดนั่นเอง โดยปกตินั้น การใส่สีสลับบรรทัดสามารถทำได้โดยวิธีง่าย ๆ นั้นคือ if row mod 2 = 0 then //ตรวจสอบว่าแถวนั้นเป็นแถวคู่หรือไม่ color(240,240,240) //ถ้าใช่แสดงสี else crNocolor //ถ้าไม่ใช่ไม่ต้องแสดงสี ซึ่งจะทำให้ได้ผลลัพธ์ดังรูป จากรูปจะเห็นได้ว่า ข้อมูลมีการสลับสีแล้ว แต่เนื่องจากข้อมูลถูก Group จะพบว่า ข้อมูลที่มี 1 record ก็มีการสลับสีด้วย ซึ่งผู้เขียนไม่ต้องการให้มีการสลับสีกรณีที่ข้อมูลมีเพียง 1 ดังนั้นผู้เขียนจึงปรับวิธีการเขียนใหม่ดังนี้ เพิ่ม Formula Fields ตัวที่ 1 ตั้งชื่อว่า ffRowCount เขียน Code ภายในดังนี้ shared numbervar rowcnt;rowcnt := rowcnt+1; ตัวที่ 2 ตั้งชื่อว่า ffRowReset เขียน Code ภายในดังนี้ shared numbervar rowcnt:rowcnt := 0; นำตัวที่ 1.1 ใส่ไว้ในส่วนของ Details และเลือก Suppress นำตัวที่ 1.2 ใส่ไว้ในส่วนของ Group 2(คณะ) เนื่องจากต้องการให้มีการ reset เมื่อมีการเปลี่ยน Group และเลือก Suppress ส่วนของ Details ให้จัดการดังนี้ Click ขวา เลือก Section Expert Click เลือก Tab Color ทำเครื่องหมาย / หน้า Background Color กดปุ่ม x-2 หลักช่องสี เขียน Code ดังนี้ shared numbervar rowcnt; if remainder(rowcnt,2) = 0 then color(240,240,240) else crNocolor จากนั้นลอง run ผลลัพธ์ดังรูป จะเห็นได้ว่า ข้อมูลที่มีเพียง 1 record นั้นจะไม่มีสี ผู้เขียนหวังว่าบทความนี้จะเป็นประโยชน์ไม่มากก็น้อยสำหรับผู้อ่านนะคะ แล้วพบกันใหม่ตอนหน้าค่ะ