JasperReports-এ Report Field হল একটি মূল উপাদান যা রিপোর্টের ভিতরে থাকা ডেটা উপস্থাপন করে। Field সাধারণত একটি data source থেকে ডেটা সংগ্রহ করে এবং সেই ডেটাকে রিপোর্টের মধ্যে দৃশ্যমান করে তোলে। এটি একটি dynamic element হিসাবে কাজ করে যা রিপোর্টে প্রদর্শিত হওয়া তথ্যের একটি অংশ, যেমন নাম, তারিখ, সংখ্যা বা অন্যান্য ডেটা।
Report Field এর ধরন
- Text Field:
- সাধারণত একটি ফ্রি টেক্সট বা ডেটা প্রিন্ট করার জন্য ব্যবহার করা হয়।
- এটি সাধারণত static টেক্সট (যেমন, "Name: ") অথবা dynamic টেক্সট (যেমন, একটি ডেটাবেসের ফিল্ড) প্রদর্শন করতে ব্যবহৃত হয়।
- Static Text:
- এটি একটি সাধারণ টেক্সট ফিল্ড যা কোনো ডেটা শো করার জন্য নয়, বরং কোনো লেবেল বা নির্দিষ্ট শব্দ বা বাক্য প্রদর্শন করার জন্য ব্যবহৃত হয়।
- Image Field:
- এটি একটি ফিল্ড যেখানে ইমেজ বা গ্রাফিক্স শো করা হয়।
- Subreport Field:
- আপনি যদি একটি রিপোর্টের মধ্যে অন্য রিপোর্ট ইমবেড করতে চান, তবে আপনি subreport ব্যবহার করতে পারেন। এটি একটি নির্দিষ্ট রিপোর্টের অন্য রিপোর্টের আউটপুট প্রদর্শন করে।
- Barcodes:
- JasperReports বারকোড সমর্থন করে এবং আপনি barcode field ব্যবহার করে বারকোড প্রিন্ট করতে পারেন।
Report Field কিভাবে কাজ করে?
JasperReports-এ Fields ডেটা সোর্স থেকে ডেটা নিয়ে আসে এবং সেই ডেটাকে রিপোর্টে প্রদর্শন করে। এটি expression এর মাধ্যমে কাজ করে যা রিপোর্টের ভিতরের ডেটা ফিল্ডের জন্য ব্যবহৃত হয়। একাধিক field ব্যবহার করে আপনি আপনার রিপোর্টের ভিতরে বিভিন্ন ধরনের ডেটা বা তথ্য উপস্থাপন করতে পারেন।
Field Mapping
- Field Definitions:
- প্রতিটি field একটি field name এবং expression দ্বারা চিহ্নিত করা হয়।
- ফিল্ডের নাম রিপোর্ট ডিজাইনে ডিফাইন করা থাকে, এবং এটি ডেটা সোর্স থেকে উপযুক্ত মানের সাথে ম্যাপ করা হয়।
- Field Expressions:
- Expression হল একটি স্ট্রিং যা ডেটা সোর্সের ক্ষেত্র থেকে মান বের করতে ব্যবহার হয়। এটি সাধারণত একটি Java expression বা JasperReports Expression Language (JEXL) হতে পারে।
- উদাহরণস্বরূপ, একটি field যা
nameফিল্ডের মান দেখায়, সেই ক্ষেত্রেExpressionহবে$F{name}।
- Text Field Example:
- একটি text field সাধারণত এমন কিছু দেখাবে:
এটি ব্যবহার করা হবে JasperReport এর layout-এ, যেমন:
<textField> <reportElement x="0" y="0" width="100" height="30" uuid="b3f19a21-80df-4fe2-bba5-bf56adf548b7"/> <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression> </textField>- এখানে,
nameহল field name, এবংexpressionহবে$F{name}।
- Field Types:
- JasperReports বিভিন্ন ধরনের ফিল্ড সাপোর্ট করে, যেমন:
- Text: সাধারণ পাঠ্য।
- Number: সংখ্যা।
- Date: তারিখ।
- Boolean: বুলিয়ান (যেমন: true বা false)।
- JasperReports বিভিন্ন ধরনের ফিল্ড সাপোর্ট করে, যেমন:
- Report Field Expressions Example:
যদি আপনি একটি number field ডেটাবেস থেকে নিয়ে আসেন, তাহলে expression হবে:
<textFieldExpression><![CDATA[$F{price}]]></textFieldExpression>- এটি
priceনামে ফিল্ডের মান রিপোর্টে দেখাবে।
Report Fields এর অন্যান্য বৈশিষ্ট্য
Field Types
- Text Field: রিপোর্টের জন্য সাধারণ টেক্সট প্রদর্শন করার জন্য ব্যবহৃত হয়।
- Image Field: ইমেজ প্রদর্শনের জন্য ব্যবহৃত হয়।
- Subreport Field: এক রিপোর্টের ভিতরে আরেকটি রিপোর্ট এমবেড করার জন্য ব্যবহৃত হয়।
- Barcode Field: বারকোড বা QR কোড প্রদর্শনের জন্য ব্যবহৃত হয়।
Field Expression Language
JasperReports-এ expression language হিসেবে Java ব্যবহার করা হয়। এতে $F{fieldName} সyntaxt ব্যবহার করা হয় ফিল্ডের মান প্রদর্শন করার জন্য।
- Static Text: শুধুমাত্র কনস্ট্যান্ট টেক্সট যোগ করতে ব্যবহার হয়। উদাহরণ:
"Hello, World!" - Field Expressions: ডেটা সোর্সের মানের জন্য একটি ডায়নামিক এক্সপ্রেশন ব্যবহার করা হয়। উদাহরণ:
$F{fieldName}। - Parameters and Variables: আপনি রিপোর্টে parameters এবং variables ব্যবহার করে আরও জটিল এক্সপ্রেশন তৈরি করতে পারেন।
Field Examples
- String Field:
আপনি যদি
nameফিল্ডের মান বের করতে চান, তাহলে expression হবে:$F{name}
- Date Field:
যদি আপনি
dateফিল্ডের মান দেখাতে চান, তাহলে expression হবে:$F{date}.toString()
- Calculated Field:
যদি আপনি দুটি ফিল্ডের যোগফল দেখতে চান, যেমন
priceএবংtax, তাহলে expression হবে:$F{price} + $F{tax}
Report Field ব্যবহার করে জটিল রিপোর্ট তৈরি
আপনি যদি জটিল রিপোর্ট তৈরি করতে চান, যেমন একটি customer report যেখানে তাদের নাম, ঠিকানা, এবং প্রোডাক্টের অর্ডার তথ্য দেখানো হয়, তবে বিভিন্ন ধরনের ফিল্ড এবং ফিল্ড এক্সপ্রেশন ব্যবহার করে এই ডেটাগুলো ডায়নামিকভাবে সিরিয়ালাইজ করতে পারেন।
<detail>
<band height="20" splitType="Stretch">
<!-- Name Field -->
<textField>
<reportElement x="0" y="0" width="100" height="20"/>
<textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
</textField>
<!-- Address Field -->
<textField>
<reportElement x="120" y="0" width="200" height="20"/>
<textFieldExpression><![CDATA[$F{address}]]></textFieldExpression>
</textField>
<!-- Order Total Field -->
<textField>
<reportElement x="0" y="25" width="100" height="20"/>
<textFieldExpression><![CDATA[$F{orderTotal}]]></textFieldExpression>
</textField>
</band>
</detail>
Field Expressions এবং Variables
Parameters:
- Parameters ব্যবহার করা হয় চলমান রিপোর্টের জন্য কাস্টম ইনপুট নিয়ে আসতে, যেমন একটি নির্দিষ্ট ডেটা ফিল্টার করা।
Variables:
- রিপোর্টের মধ্যে গণনা করা যেতে পারে এমন কিছু মান (যেমন: মোট, গড়) সংরক্ষণ করতে Variables ব্যবহার করা হয়।
- Report Fields JasperReports-এর সবচেয়ে গুরুত্বপূর্ণ উপাদান, যা ডেটা থেকে রিপোর্ট তৈরি করতে ব্যবহৃত হয়।
- JasperReports-এ Text Field, Image Field, Subreport Field, Barcode Field ইত্যাদি ধরন রয়েছে যা আপনাকে রিপোর্টে ডেটা শো করার জন্য বিভিন্ন উপায় প্রদান করে।
- Field Expressions এবং JasperReports Expression Language ব্যবহার করে ডেটা সোর্স থেকে মানগুলো dynamic ভাবে রিপোর্টে প্রদর্শন করা যায়।
JasperReports এর মাধ্যমে রিপোর্ট তৈরি করার সময় Field এবং তাদের expressions বুঝে কাজ করা খুবই গুরুত্বপূর্ণ।
Read more