JasperReports হল একটি শক্তিশালী রিপোর্টিং লাইব্রেরি যা বিভিন্ন ধরনের রিপোর্ট তৈরি করতে সহায়তা করে, যেমন PDF, Excel, HTML, CSV ইত্যাদি। Band রিপোর্ট ডিজাইনে একটি গুরুত্বপূর্ণ উপাদান, কারণ এটি রিপোর্টের বিভিন্ন অংশের জন্য ব্যবহৃত হয়, যেমন header, detail, footer, ইত্যাদি। Bands রিপোর্টের একেকটি লেআউট বা সেগমেন্টের কাজ করে এবং প্রতিটি Band-এর একটি নির্দিষ্ট কাজ থাকে।
Band এর ধরন
JasperReports-এ মূলত কয়েকটি Band থাকে যা রিপোর্টের বিভিন্ন অংশে ব্যবহৃত হয়:
- Title Band
- এটি রিপোর্টের প্রথম অংশ, এবং সাধারণত রিপোর্টের শিরোনাম বা টাইটেল উপস্থাপন করার জন্য ব্যবহৃত হয়।
- এটি একবারই প্রিন্ট হয় এবং রিপোর্টের প্রথম পৃষ্ঠায় থাকে।
- Page Header Band
- Page Header band প্রতিটি পৃষ্ঠার শীর্ষে থাকে। সাধারণত, এটি পৃষ্ঠার শিরোনাম বা রিপোর্টের সাধারণ শিরোনাম দেখানোর জন্য ব্যবহৃত হয়।
- এটি প্রতিটি পৃষ্ঠায় প্রিন্ট হয়।
- Column Header Band
- Column Header band রিপোর্টে প্রতিটি কলামের শিরোনাম বা লেবেল ধারণ করে, এবং সাধারণত এটি টেবিলের প্রথম রো হিসেবে থাকে।
- এটি শুধুমাত্র রিপোর্টের প্রথম পৃষ্ঠায় প্রিন্ট হয়।
- Detail Band
- Detail band রিপোর্টের মূল অংশ যা ডেটা উপস্থাপন করে। সাধারণত এটি পৃষ্ঠার প্রধান ডেটা শো করার জন্য ব্যবহৃত হয়, যেমন: তালিকা, রেকর্ড ইত্যাদি।
- এটি রিপোর্টের প্রতিটি পৃষ্ঠায় প্রিন্ট হয় যতক্ষণ না সব ডেটা প্রিন্ট হয়ে যায়।
- Column Footer Band
- Column Footer band সাধারণত কাস্টম সারাংশ বা কলামের শেষে কিছু পরিসংখ্যান দেখানোর জন্য ব্যবহৃত হয় (যেমন মোট, গড়, ম্যাক্সিমাম ইত্যাদি)।
- এটি শুধুমাত্র রিপোর্টের শেষে প্রিন্ট হয়।
- Page Footer Band
- Page Footer band সাধারণত পৃষ্ঠার তলায় থাকে এবং এখানে পৃষ্ঠা নম্বর, প্রিন্টিং তারিখ, বা অন্যান্য তথ্য দেখানো হয়।
- এটি প্রতিটি পৃষ্ঠার শেষে প্রিন্ট হয়।
- Summary Band
- Summary band রিপোর্টের শেষের দিকে থাকে এবং সাধারণত রিপোর্টের সারাংশ বা চূড়ান্ত পরিসংখ্যান উপস্থাপন করে।
- এটি রিপোর্টের শেষে একবারই প্রিন্ট হয়।
Band Layout Design
JasperReports-এ band layout design রিপোর্টের কাঠামো তৈরি করার জন্য ব্যবহৃত হয়। প্রতিটি band একেকটি সেগমেন্ট বা অংশে ডেটা উপস্থাপন করে এবং আপনাকে রিপোর্টের ডিজাইন কাস্টমাইজ করতে সহায়তা করে।
Band Layout Design এর মূল উপাদানসমূহ:
- Report Title:
- Report Title band সাধারণত রিপোর্টের শিরোনাম বা নাম প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি সাধারণত Title band এর মধ্যে থাকে এবং রিপোর্টের প্রথম পৃষ্ঠায় প্রিন্ট হয়।
- Text Fields:
- Text Field ব্যবহার করে আপনি রিপোর্টের ভিতরে টেক্সট বা ডেটা দেখাতে পারেন। এটি প্রতিটি band-এ ব্যবহার করা যেতে পারে।
- Static Text:
- Static Text সাধারণত স্থির টেক্সট দেখানোর জন্য ব্যবহৃত হয়, যেমন লেবেল বা নির্দেশনা।
- Variables:
- আপনি Variables ব্যবহার করতে পারেন রিপোর্টে পরিসংখ্যান বা ডেটার অঙ্কন প্রদর্শন করার জন্য।
- Images:
- আপনি রিপোর্টে Images (যেমন লোগো বা চার্ট) যুক্ত করতে পারেন।
- Subreport:
- JasperReports-এ আপনি একটি Subreport যোগ করতে পারেন যেখানে অন্য একটি রিপোর্ট এমবেড করা থাকে। এটি
subreportband-এ থাকে।
- JasperReports-এ আপনি একটি Subreport যোগ করতে পারেন যেখানে অন্য একটি রিপোর্ট এমবেড করা থাকে। এটি
- Charts:
- Charts JasperReports-এর একটি শক্তিশালী বৈশিষ্ট্য যা ডেটার গ্রাফিক্যাল উপস্থাপন করতে সহায়তা করে।
উদাহরণ: Report Band Layout Design
এখানে একটি সাধারণ band layout উদাহরণ দেখানো হল যেখানে বিভিন্ন ধরনের Bands কিভাবে কাজ করে তা তুলে ধরা হয়েছে:
<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="EmployeeReport" pageWidth="595" pageHeight="842" columnWidth="515" leftMargin="50" rightMargin="50" topMargin="50" bottomMargin="50">
<!-- Title Band -->
<title>
<band height="50">
<staticText>
<reportElement x="0" y="0" width="515" height="50" uuid="d1d5e2a1-9e55-4b8b-89d3-03fa47c54885"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[Employee Report]]></text>
</staticText>
</band>
</title>
<!-- Page Header Band -->
<pageHeader>
<band height="30">
<staticText>
<reportElement x="0" y="0" width="515" height="30" uuid="1d4f8769-6b1a-47f7-8e36-404e458f35fe"/>
<textElement textAlignment="Left" verticalAlignment="Middle"/>
<text><![CDATA[Employee Details]]></text>
</staticText>
</band>
</pageHeader>
<!-- Column Header Band -->
<columnHeader>
<band height="30">
<staticText>
<reportElement x="0" y="0" width="170" height="30" uuid="39f647c3-3e0c-4eb0-88fe-6c1c9a2ca39f"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[ID]]></text>
</staticText>
<staticText>
<reportElement x="170" y="0" width="170" height="30" uuid="2b9e6a68-7c5f-47e9-b1c7-9d94a1edb2e2"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[Name]]></text>
</staticText>
<staticText>
<reportElement x="340" y="0" width="170" height="30" uuid="1fe941ed-c53b-4b8c-9b24-055348d30a61"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[Age]]></text>
</staticText>
</band>
</columnHeader>
<!-- Detail Band -->
<detail>
<band height="20">
<textField>
<reportElement x="0" y="0" width="170" height="20" uuid="1399236e-d8b4-4a18-b07b-3db23a5deae5"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="170" y="0" width="170" height="20" uuid="b840cc69-2ca4-4cae-bc34-4fe3f0b8a235"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="340" y="0" width="170" height="20" uuid="bbdb21ed-42f0-4d62-9315-728fe417e7b0"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{age}]]></textFieldExpression>
</textField>
</band>
</detail>
<!-- Page Footer Band -->
<pageFooter>
<band height="30">
<textField>
<reportElement x="0" y="0" width="515" height="30" uuid="f8373f36-99d1-4da1-ae99-5333de9256f4"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA["Page " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>
Band Layout Design এর সংক্ষিপ্ত ব্যাখ্যা
- Title: রিপোর্টের শিরোনাম দেখানোর জন্য।
- Page Header: প্রতিটি পৃষ্ঠার শীর্ষে সাধারণ শিরোনাম দেখানোর জন্য।
- Column Header: টেবিলের কলামের শিরোনাম দেখানোর জন্য।
- Detail: রিপোর্টের প্রধান ডেটা শো করার জন্য (যেমন তালিকা বা রেকর্ড)।
- Page Footer: পৃষ্ঠার নিচে পৃষ্ঠার নম্বর বা অন্যান্য তথ্য দেখানোর জন্য।
- JasperReports-এ Band এর মাধ্যমে আপনি রিপোর্টের বিভিন্ন অংশ কাস্টমাইজ করতে পারেন।
- Title, Page Header, Detail, Column Header, Page Footer, এবং Summary gibi Bands রিপোর্টের বিভিন্ন অংশের কাজ করে।
- Layouts কাস্টমাইজ করে আপনি রিপোর্টকে আরও পাঠযোগ্য এবং ইন্টারেক্টিভ করতে পারেন, যেমন font styling, conditional formatting, charts, tables, subreports ইত্যাদি যোগ করে।
Read more