JasperReports-এ Table, CrossTab, এবং List হল রিপোর্টে ডেটা প্রদর্শনের জন্য ব্যবহৃত তিনটি প্রধান কম্পোনেন্ট। এগুলি বিভিন্ন ধরনের ডেটা প্রেজেন্টেশন করতে সহায়ক এবং আপনার রিপোর্টের ডেটা দেখানোর কাঠামো এবং স্টাইল কাস্টমাইজ করতে সাহায্য করে।
1. Table Component:
Table কম্পোনেন্টের মাধ্যমে আপনি ডেটাকে টেবিল আকারে প্রদর্শন করতে পারেন, যেখানে বিভিন্ন কলাম এবং রো থাকবে। এটি সাধারণত <dataset> ব্যবহার করে ডেটা ফিল্টার এবং প্রদর্শন করতে ব্যবহৃত হয়।
Table Component ব্যবহার করার উদাহরণ:
<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" language="java" pageWidth="595" pageHeight="842"
columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<!-- Table Component -->
<detail>
<band height="400">
<table width="555">
<!-- Table header -->
<columnHeader>
<row height="20">
<cell>
<textElement textAlignment="Center">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Employee Name]]></text>
</cell>
<cell>
<textElement textAlignment="Center">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Age]]></text>
</cell>
<cell>
<textElement textAlignment="Center">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Salary]]></text>
</cell>
</row>
</columnHeader>
<!-- Table data -->
<detail>
<row height="20">
<cell>
<textField>
<reportElement x="0" y="0" width="185" height="20"/>
<textFieldExpression><![CDATA[$F{employee_name}]]></textFieldExpression>
</textField>
</cell>
<cell>
<textField>
<reportElement x="185" y="0" width="185" height="20"/>
<textFieldExpression><![CDATA[$F{age}]]></textFieldExpression>
</textField>
</cell>
<cell>
<textField>
<reportElement x="370" y="0" width="185" height="20"/>
<textFieldExpression><![CDATA[$F{salary}]]></textFieldExpression>
</textField>
</cell>
</row>
</detail>
</table>
</band>
</detail>
</jasperReport>
ব্যাখ্যা:
<table>কম্পোনেন্টের মাধ্যমে টেবিল তৈরি করা হয়েছে।<columnHeader>এবং<detail>এর মাধ্যমে টেবিলের হেডার এবং ডেটা রো সুনির্দিষ্ট করা হয়েছে।$F{employee_name},$F{age}, এবং$F{salary}হল ফিল্ড এক্সপ্রেশন যেগুলি ডেটাবেস বা ডেটা সোর্স থেকে আসবে।
2. CrossTab Component:
CrossTab কম্পোনেন্টটি একটি শক্তিশালী টুল যা টেবিলের মতো ডেটা প্রদর্শন করে কিন্তু row এবং column ডেটার ভিত্তিতে সমন্বিত করে একটি কাস্টমাইজড ডেটা রিপোর্ট তৈরি করতে ব্যবহৃত হয়। এটি মূলত pivot tables এবং summary reports তৈরি করার জন্য ব্যবহৃত হয়।
CrossTab Component উদাহরণ:
<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="salesCrossTabReport" language="java" pageWidth="595" pageHeight="842"
columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<!-- CrossTab Component -->
<detail>
<band height="400">
<crossTab width="555" height="300">
<!-- Define Row Grouping -->
<crossTabRowGroup name="Product" />
<!-- Define Column Grouping -->
<crossTabColumnGroup name="Month" />
<!-- Define Measures -->
<crossTabMeasure name="Sales" class="java.lang.Double" />
<!-- Displaying Summary Data -->
<measure>
<reportElement x="0" y="0" width="100" height="20"/>
<textFieldExpression><![CDATA[$V{Sales}.doubleValue()]]></textFieldExpression>
</measure>
</crossTab>
</band>
</detail>
</jasperReport>
ব্যাখ্যা:
<crossTab>কম্পোনেন্ট ডেটার ক্রস-ট্যাবুলার ভিউ তৈরি করে, যেখানে row এবং column গ্রুপিং করা হয়।<crossTabRowGroup>এবং<crossTabColumnGroup>ডেটার গ্রুপিং নির্ধারণ করে।<crossTabMeasure>পরিমাপ হিসাবে ডেটা দেখায়।
3. List Component:
List কম্পোনেন্ট ব্যবহার করা হয় যখন আপনার রিপোর্টে ডায়নামিক তালিকা থাকতে হবে। এটি dynamic ফিল্ড লিস্ট তৈরি করতে ব্যবহৃত হয়, যেখানে ডেটার সংখ্যা পরিবর্তন হতে পারে এবং প্রতিটি রো একে অপর থেকে আলাদা হতে পারে।
List Component উদাহরণ:
<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="employeeListReport" language="java" pageWidth="595" pageHeight="842"
columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<!-- List Component -->
<detail>
<band height="200">
<list width="555">
<!-- List Header -->
<columnHeader>
<row height="20">
<cell>
<text><![CDATA[Employee Name]]></text>
</cell>
<cell>
<text><![CDATA[Employee Position]]></text>
</cell>
</row>
</columnHeader>
<!-- List Data -->
<detail>
<row height="20">
<cell>
<textField>
<reportElement x="0" y="0" width="200" height="20"/>
<textFieldExpression><![CDATA[$F{employee_name}]]></textFieldExpression>
</textField>
</cell>
<cell>
<textField>
<reportElement x="220" y="0" width="200" height="20"/>
<textFieldExpression><![CDATA[$F{employee_position}]]></textFieldExpression>
</textField>
</cell>
</row>
</detail>
</list>
</band>
</detail>
</jasperReport>
ব্যাখ্যা:
<list>কম্পোনেন্ট ব্যবহার করে ডায়নামিক তালিকা তৈরি করা হয়েছে, যেখানে একাধিক রো থাকতে পারে।<columnHeader>এর মাধ্যমে তালিকার হেডার তৈরি করা হয়েছে এবং<detail>এর মাধ্যমে ডেটা তালিকায় প্রদর্শিত হয়েছে।
- Table Component: ডেটা টেবিল আকারে প্রদর্শনের জন্য ব্যবহৃত হয়, যেখানে কলাম এবং রো নির্ধারণ করে ডেটা প্রদর্শিত হয়।
- CrossTab Component: টেবিলের মতো ডেটা প্রেজেন্টেশন করে কিন্তু row এবং column গ্রুপিং করে পিভট টেবিল বা স্যামারি রিপোর্ট তৈরি করতে ব্যবহৃত হয়।
- List Component: ডায়নামিক ডেটা তালিকা তৈরি করার জন্য ব্যবহৃত হয়, যেখানে তালিকার দৈর্ঘ্য পরিবর্তন হতে পারে এবং প্রতিটি রো আলাদা হতে পারে।
এই কম্পোনেন্টগুলো JasperReports-এর মাধ্যমে রিপোর্ট তৈরি করার সময় আপনার ডেটার কাঠামো কাস্টমাইজ করতে সাহায্য করবে এবং আপনি আপনার রিপোর্টকে আরও আরও কার্যকরভাবে উপস্থাপন করতে পারবেন।
Read more