Flex অ্যাপ্লিকেশন ডেভেলপমেন্টে DataGrid একটি অত্যন্ত গুরুত্বপূর্ণ কম্পোনেন্ট, যা টেবিল বা গ্রিড আকারে ডেটা প্রদর্শন করতে ব্যবহৃত হয়। এটি ডাইনামিক ডেটা দেখানোর জন্য আদর্শ, যেখানে আপনি একাধিক সারি এবং কলামে ডেটা উপস্থাপন করতে পারেন। DataGrid কম্পোনেন্টটি খুবই কাস্টমাইজযোগ্য, এবং এটি ব্যবহারকারীর জন্য একটি রেসপন্সিভ এবং ইন্টারঅ্যাকটিভ ইউজার ইন্টারফেস প্রদান করে।
এই কম্পোনেন্টটি ডেটা টেবিল আকারে দেখানোর জন্য বিশেষভাবে উপযোগী, যেমন: লিস্টিং, ডেটা ভিউ, ফর্ম রিভিউ, ইত্যাদি।
DataGrid কম্পোনেন্টের মৌলিক ব্যবহার
DataGrid কম্পোনেন্টটি মূলত একটি টেবিলের মতো কাজ করে এবং DataProvider থেকে ডেটা লোড করে তা Grid এ প্রদর্শন করে। DataGrid একটি টেবিলের মতো সারি এবং কলাম গঠিত হয় এবং প্রতিটি কলাম এবং সারি ডাইনামিকভাবে ডেটা প্রদর্শন করে।
DataGrid এর মৌলিক সিনট্যাক্স:
<mx:DataGrid id="myDataGrid" width="400" height="300" dataProvider="{myData}">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="name"/>
<mx:DataGridColumn headerText="Age" dataField="age"/>
</mx:columns>
</mx:DataGrid>
এখানে:
- dataProvider: এটি ArrayCollection বা অন্য DataProvider এর মাধ্যমে ডেটা গ্রহণ করে।
- columns: এটি DataGrid-এ প্রদর্শিত কলামগুলো সংজ্ঞায়িত করে। প্রত্যেকটি DataGridColumn একটি কলাম প্রতিনিধিত্ব করে।
DataGrid এর উপাদানসমূহ
- dataProvider:
- dataProvider একটি ডেটাসেট বা ডেটা সংগ্রহ (যেমন ArrayCollection, XML, Array) যা DataGrid কম্পোনেন্টে প্রদর্শন করা হয়।
- columns:
- columns হল DataGrid কম্পোনেন্টের কলাম গুলি যা ডেটা উপস্থাপন করে। প্রতিটি কলাম একটি DataGridColumn দ্বারা সংজ্ঞায়িত হয়, যেখানে
headerTextএবংdataFieldউল্লেখ করা হয়।
- columns হল DataGrid কম্পোনেন্টের কলাম গুলি যা ডেটা উপস্থাপন করে। প্রতিটি কলাম একটি DataGridColumn দ্বারা সংজ্ঞায়িত হয়, যেখানে
- DataGridColumn:
- DataGridColumn প্রতিটি কলামের জন্য ব্যবহৃত হয়, এবং এটি headerText (কলামের শিরোনাম) এবং dataField (ডেটার ক্ষেত্র) নির্ধারণ করে।
- sortable:
- sortable="true" ব্যবহার করে একটি কলাম sortable (সাজানো যায়) করা যায়।
- editable:
- editable="true" ব্যবহার করে ব্যবহারকারীকে সেই কলামে ডেটা সম্পাদনা করার অনুমতি দেয়।
DataGrid এর উদাহরণ
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var myData:ArrayCollection = new ArrayCollection([
{name: "John", age: 28},
{name: "Jane", age: 32},
{name: "Jake", age: 25}
]);
]]>
</mx:Script>
<mx:DataGrid id="myDataGrid" width="400" height="300" dataProvider="{myData}">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="name"/>
<mx:DataGridColumn headerText="Age" dataField="age" sortable="true" editable="true"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
ব্যাখ্যা:
- myData: এটি ArrayCollection যেখানে তিনটি অবজেক্ট রয়েছে, এবং প্রত্যেকটি অবজেক্টে
nameএবংageরয়েছে। - DataGridColumn: দুইটি কলাম: একটি
nameএবং একটিage।ageকলামটি sortable এবং editable। - sortable="true":
ageকলামটি সজ্জিত বা সাজানো যাবে। - editable="true": ব্যবহারকারী
ageকলামে ডেটা সম্পাদনা করতে পারবেন।
এখানে, DataGrid কম্পোনেন্টে একটি টেবিল তৈরি হচ্ছে যেখানে name এবং age কলামে ডেটা প্রদর্শিত হবে। age কলামে ডেটা সম্পাদন এবং সাজানো সম্ভব।
DataGrid-এ ডেটা আপডেট এবং রিফ্রেশ
DataGrid কম্পোনেন্টটি DataProvider থেকে ডেটা নিয়ে তা গ্রিডে প্রদর্শন করে। যখন ডেটা পরিবর্তিত হয়, DataGrid সেই পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে UI তে প্রতিফলিত করে। এটি ডেটা বাইন্ডিং এর মাধ্যমে ডেটার পরিবর্তন মনিটর করে এবং UI রিফ্রেশ করে।
উদাহরণ: ডেটা আপডেট
// DataGrid-এ থাকা একটি আইটেমের ডেটা পরিবর্তন করা
myData[0].age = 30; // প্রথম সারির বয়স আপডেট
এখানে, প্রথম সারির age মান পরিবর্তন হওয়ার সাথে সাথে DataGrid তে সেই পরিবর্তন প্রতিফলিত হবে।
DataGrid এর কাস্টমাইজেশন
DataGrid কম্পোনেন্টটি অনেক কাস্টমাইজেশন অপশন অফার করে, যেমন:
- CellRenderer: কাস্টম সেল রেন্ডারার ব্যবহার করে, আপনি প্রতিটি সেলের লুক এবং ফাংশনালিটি কাস্টমাইজ করতে পারেন।
- HeaderRenderer: কলামের শিরোনাম কাস্টমাইজ করা যায়।
- Sorting: ডেটা কলাম অনুযায়ী সাজানো যায়।
- Editing: ফর্ম ইনপুট বা কাস্টম ইনপুট কম্পোনেন্ট ব্যবহার করে DataGrid কলামগুলি সম্পাদনযোগ্য করা যায়।
কাস্টম সেল রেন্ডারার উদাহরণ:
<mx:DataGridColumn headerText="Name" dataField="name">
<mx:itemRenderer>
<mx:Component>
<mx:Label text="{data.name}" fontWeight="bold" />
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
এখানে, DataGridColumn এর itemRenderer ব্যবহার করে name কলামের সেলগুলোকে কাস্টমাইজ করা হয়েছে, যাতে প্রতিটি নাম বোল্ড ফন্টে দেখানো হয়।
DataGrid এর সুবিধা
- ডাইনামিক ডেটা প্রদর্শন: DataGrid ডাইনামিকভাবে DataProvider থেকে ডেটা লোড করে এবং তা টেবিল আকারে UI তে প্রদর্শন করে।
- ইন্টারঅ্যাকটিভ: sortable, editable, filterable বৈশিষ্ট্যগুলো ব্যবহারকারীদের জন্য ইন্টারঅ্যাকটিভ অভিজ্ঞতা নিশ্চিত করে।
- ডেটা বাইন্ডিং: DataProvider থেকে ডেটা বাইন্ডিংয়ের মাধ্যমে স্বয়ংক্রিয়ভাবে UI আপডেট করা সম্ভব।
- কাস্টমাইজেশন: CellRenderer, HeaderRenderer, এবং অন্যান্য কাস্টমাইজেশন অপশন ব্যবহার করে গ্রিডের লুক এবং অনুভূতি পরিবর্তন করা যায়।
সারাংশ
- DataGrid Flex অ্যাপ্লিকেশনে একটি টেবিল-ভিত্তিক উপাদান, যা ডেটা ArrayCollection, XML, বা Array থেকে নিয়ে তা একটি টেবিল আকারে প্রদর্শন করে।
- DataProvider হল ডেটা সরবরাহকারী, যা DataGrid কম্পোনেন্টে ডেটা প্রদান করে।
- DataGridColumn প্রতিটি কলাম কাস্টমাইজ এবং ডিফাইন করার জন্য ব্যবহৃত হয়।
- DataGrid ডেটা আপডেট হওয়ার সাথে সাথে UI স্বয়ংক্রিয়ভাবে রিফ্রেশ হয় এবং এটি ইন্টারঅ্যাকটিভ ব্যবহারের জন্য ফিল্টার, সোর্টিং, এবং এডিটিং এর সুবিধা প্রদান করে।
Flex এ DataGrid কম্পোনেন্টটি ডেটা প্রদর্শন এবং পরিচালনার জন্য একটি অত্যন্ত শক্তিশালী টুল, যা ইন্টারঅ্যাকটিভ এবং ডাইনামিক অ্যাপ্লিকেশন তৈরির জন্য উপযোগী।
Read more