Conditional Formatting এবং Custom Layout

Report Layout এবং Design Customization - জ্যাসপার রিপোর্ট (JasperReports) - Java Technologies

329

JasperReports একটি শক্তিশালী Java রিপোর্টিং লাইব্রেরি, যা রিপোর্ট তৈরি, কাস্টমাইজেশন এবং ডেটার প্রেজেন্টেশন খুবই সহজ করে তোলে। Conditional Formatting এবং Custom Layout ব্যবহার করে আপনি আপনার রিপোর্টে ডাইনামিক স্টাইলিং এবং কাস্টম ডিজাইন যুক্ত করতে পারেন, যা আপনার রিপোর্টকে আরও প্রাসঙ্গিক এবং ইউজার-ফ্রেন্ডলি করে তোলে।


1. Conditional Formatting in JasperReports

Conditional Formatting হল এমন একটি কৌশল যা রিপোর্টের বিভিন্ন অংশের স্টাইল পরিবর্তন করতে ব্যবহৃত হয়, যখন কিছু নির্দিষ্ট শর্ত পূর্ণ হয়। এটি ব্যবহারকারীর জন্য তথ্যকে আরও কার্যকরী এবং দৃশ্যমান করে তোলে। উদাহরণস্বরূপ, আপনি যদি একটি ফিনান্সিয়াল রিপোর্টে negative values রেড রঙে প্রদর্শন করতে চান, তাহলে conditional formatting ব্যবহার করবেন।

Conditional Formatting Example

ধরা যাক, আপনি একটি বিক্রয় রিপোর্ট তৈরি করছেন, যেখানে amount ফিল্ডে যদি মান negative হয় তবে সেই ফিল্ডটি রেড রঙে প্রদর্শিত হবে।

Step 1: JRXML ফাইলে Conditional Formatting
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports 
                                  http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
              name="SalesReport" language="java" pageWidth="595" pageHeight="842"
              columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">

    <!-- Fields -->
    <field name="salesAmount" class="java.lang.Double"/>
    
    <!-- Detail Section -->
    <detail>
        <band height="20">
            <textField>
                <reportElement x="0" y="0" width="200" height="20"/>
                <textFieldExpression><![CDATA[$F{salesAmount}]]></textFieldExpression>
                <textElement>
                    <font size="12"/>
                    <!-- Conditional formatting: Change color based on value -->
                    <textElement>
                        <font color="red"/>
                        <conditionalStyle>
                            <conditionExpression><![CDATA[$F{salesAmount} < 0]]></conditionExpression>
                            <style>
                                <font color="red"/>
                            </style>
                        </conditionalStyle>
                    </textElement>
                </textElement>
            </textField>
        </band>
    </detail>

</jasperReport>

বর্ণনা:

  • ConditionalStyle এবং conditionExpression ব্যবহার করে আপনি সুনির্দিষ্ট শর্তের উপর ভিত্তি করে স্টাইল পরিবর্তন করতে পারেন। এখানে $F{salesAmount} < 0 শর্তে রেড রঙে পরিবর্তন করা হয়েছে।
Step 2: Result
  • যদি salesAmount নেতিবাচক হয়, তবে রিপোর্টে ওই মানটি রেড রঙে প্রদর্শিত হবে।
  • যদি মানটি ধনাত্মক হয়, তাহলে সেটা ডিফল্ট স্টাইল অনুসারে প্রদর্শিত হবে।

2. Custom Layout in JasperReports

Custom Layout হল সেই প্রক্রিয়া যার মাধ্যমে আপনি রিপোর্টের লেআউট কাস্টমাইজ করতে পারেন। রিপোর্টের কাঠামো, পেজ লেআউট, টেবিল লেআউট এবং অন্যান্য উপাদান কাস্টমাইজেশন করতে JasperReports-এর bands, staticText, textField, images, এবং charts ইত্যাদি ব্যবহার করা হয়।

Custom Layout Example

ধরা যাক, আপনি একটি sales report তৈরি করতে চান যেখানে রিপোর্টের শিরোনাম, টেবিলের লেআউট এবং তারিখের জন্য কাস্টম ফরম্যাট থাকবে।

Step 1: JRXML ফাইলে Custom Layout তৈরি করা
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports 
                                  http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
              name="CustomLayoutReport" language="java" pageWidth="595" pageHeight="842"
              columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">

    <!-- Report Title -->
    <title>
        <band height="50">
            <staticText>
                <reportElement x="0" y="0" width="555" height="50"/>
                <textElement textAlignment="Center">
                    <font size="18" isBold="true"/>
                </textElement>
                <text><![CDATA[Sales Report]]></text>
            </staticText>
        </band>
    </title>

    <!-- Column Headers -->
    <columnHeader>
        <band height="20">
            <staticText>
                <reportElement x="0" y="0" width="200" height="20"/>
                <text><![CDATA[Product Name]]></text>
            </staticText>
            <staticText>
                <reportElement x="220" y="0" width="200" height="20"/>
                <text><![CDATA[Amount]]></text>
            </staticText>
        </band>
    </columnHeader>

    <!-- Detail Section (Custom Table Layout) -->
    <detail>
        <band height="20">
            <textField>
                <reportElement x="0" y="0" width="200" height="20"/>
                <textFieldExpression><![CDATA[$F{productName}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="220" y="0" width="200" height="20"/>
                <textFieldExpression><![CDATA[$F{salesAmount}]]></textFieldExpression>
            </textField>
        </band>
    </detail>

</jasperReport>

বর্ণনা:

  • Title: রিপোর্টের শিরোনাম Sales Report কাস্টম স্টাইল সহ প্রদর্শিত হবে।
  • ColumnHeader: একটি সাধারণ টেবিলের জন্য কলাম হেডার নির্ধারণ করা হয়েছে, যেখানে Product Name এবং Amount শিরোনাম দেওয়া হয়েছে।
  • Detail: Product Name এবং Sales Amount ফিল্ডগুলো টেবিলের প্রতিটি রেকর্ডের জন্য কাস্টম লেআউটে প্রদর্শিত হবে।
Step 2: Result
  • রিপোর্টের শিরোনাম এবং ডিটেইল সেকশনে Product Name এবং Amount টেবিলের সেল হিসেবে কাস্টম স্টাইল সহ প্রদর্শিত হবে।

Conditional Formatting এবং Custom Layout এর অন্যান্য ব্যবহার

  1. Highlighting Specific Data:
    • Conditional formatting ব্যবহার করে আপনি negative values বা important records কে আলাদা করে হাইলাইট করতে পারেন, যেমন রেড বা গ্রিন রঙে প্রদর্শন করা।
  2. Custom Footers and Headers:
    • রিপোর্টের শেষে বা শুরুতে custom text যোগ করা, যেমন page numbers, date and time, অথবা total summary
  3. Dynamic Table Layout:
    • রিপোর্টে ডাইনামিক টেবিল লেআউট তৈরি করা, যেখানে পৃষ্ঠা লেআউট পরিবর্তন হতে পারে ডেটার ভিত্তিতে (যেমন, আরও রেকর্ড যুক্ত হলে টেবিলের লেআউট পরিবর্তিত হবে)।
  4. Custom Fonts and Colors:
    • রিপোর্টে custom fonts এবং colors ব্যবহার করে আপনি বিভিন্ন সেগমেন্টে ভিন্ন ভিন্ন স্টাইল প্রয়োগ করতে পারেন।

  1. Conditional Formatting এবং Custom Layout JasperReports-এ ডেটার প্রেজেন্টেশন এবং রিপোর্টের কার্যকারিতা আরও উন্নত করতে ব্যবহৃত হয়।
  2. Conditional Formatting ব্যবহার করে আপনি রিপোর্টে ডাইনামিক স্টাইলিং (যেমন, রঙ পরিবর্তন) যোগ করতে পারেন, যা রিপোর্টের মান বুঝতে সহায়ক।
  3. Custom Layout JasperReports রিপোর্টে কাস্টম ডিজাইন ও ফরম্যাটিং যুক্ত করতে ব্যবহৃত হয়, যেমন কাস্টম শিরোনাম, কলাম হেডার, ফুটার, এবং টেবিল লেআউট কাস্টমাইজেশন।
  4. Dynamic Reports তৈরি করার জন্য এসব কৌশল ব্যবহার করলে রিপোর্টের সঠিক প্রদর্শনী এবং ইউজার ফ্রেন্ডলি পরিবেশ তৈরি করা সম্ভব।
Content added By
Promotion

Are you sure to start over?

Loading...