การที่ลาก elements ของ JasperReports อย่าง Text Field หรือ Static Text แล้วต้องมากำหนดให้ใช้ fonts เป็น Arial ขนาด 8 ตัวอักษรสีดำ 30 จุด มันถึกและเสียเวลามากเกินไป เลยหาวิธีใหม่ มาเทียบกับตอนที่ทำเว็บดู เราใช้คำสั่ง css โดยกำหนด
<style>
* {
color:#c00000;
font: 8px arial;
}
</style>
หรือ
<style>
body {
color:#c00000;
font: 8px arial;
}
</style>
เป็น default style แค่นี้ก็เปลี่ยนการแสดงผลได้ทั้งหน้าแล้ว jasper report ก็น่าจะทำได้เช่นกัน
เมื่อเราหากันจนเจอ วิธีก็ไม่ได้ยากเลย
- ไปที่ Outline คลิกขวาตรง Styles เลือก Create Style
- ไปที่ Properties ตั้งชื่อ style ที่ต้องการ เช่น *
- เลือก Font, Font Size และสี forecolor ตามที่ต้องการ
- ที่ tab Style ใน Properties จะเห็นว่ามี checkbox ชื่อ Default Style ติ๊กเลยครับ นี่ละที่ชาติต้องการ
- ลาก Text Field หรือ Static Text มาเป็นตัวอย่าง แลัว Preview ดู
เท่านี้เราก็สามารถกำหนดให้ jasper report แสดง style ได้เป็นค่าเริ่มต้นโดยที่ไม่ต้องกำหนดทีละตัว ที่ละจุดให้เสียเวลาอีกต่อไปแล้ว สังเกตใน Source จะมี xml เพิ่มขึ้นมาประมาณ
Default Style
<style name="*" fontName="Arial" fontSize="8" forecolor="#000000" hTextAlign="Left" isDefault="true" vTextAlign="Top"/>
เราสามารถ copy ไปวางใน report อื่นๆ จะได้ไม่ต้องมาเซ็ตทุกๆ รีพอร์ตเหมือนกัน ส่วนใครสงสัยว่า attribute ไหนคืออะไรอ่านได้จาก Report Styles