ExtJS তে গ্রিড (Grid) একটি খুবই শক্তিশালী কম্পোনেন্ট, যা ডেটা প্রদর্শনের জন্য ব্যবহৃত হয়। গ্রিডের মধ্যে ডেটা ফিল্টারিং এবং সোর্টিং করার মাধ্যমে ইউজারদের জন্য ডেটা বিশ্লেষণ এবং ম্যানিপুলেশন করা সহজ হয়। ExtJS গ্রিডে ফিল্টারিং এবং সোর্টিং ফিচারগুলো বিল্ট-ইন ভাবে প্রদান করে, যা দ্রুত এবং কার্যকরভাবে কাজ করতে সহায়ক।
গ্রিডে ফিল্টারিং করার মাধ্যমে আপনি ডেটার মধ্যে নির্দিষ্ট মান বা শর্ত অনুযায়ী তথ্য প্রদর্শন করতে পারেন। ExtJS গ্রিড ফিল্টারিংয়ের জন্য একটি filters
প্লাগইন ব্যবহার করে, যা গ্রিডের মধ্যে ইউজারদের জন্য একাধিক ফিল্টার অপশন তৈরি করতে সহায়ক।
Ext.grid.Panel এর জন্য filters প্লাগইন ব্যবহার করে গ্রিডের মধ্যে ফিল্টারিং সক্রিয় করা হয়। এর মাধ্যমে, আপনি গ্রিডের কলামগুলোর উপর ফিল্টার অ্যাপ্লাই করতে পারেন।
Ext.create('Ext.grid.Panel', {
title: 'User List with Filtering',
renderTo: Ext.getBody(),
store: {
fields: ['id', 'name', 'email', 'age'],
data: [
{ id: 1, name: 'John Doe', email: 'john@example.com', age: 28 },
{ id: 2, name: 'Jane Smith', email: 'jane@example.com', age: 34 },
{ id: 3, name: 'Sam Green', email: 'sam@example.com', age: 45 },
{ id: 4, name: 'Anna Blue', email: 'anna@example.com', age: 25 }
]
},
plugins: [
{
ptype: 'gridfilters', // ফিল্টার প্লাগইন ব্যবহার
filters: [
{ dataIndex: 'name', type: 'string' }, // নামের জন্য স্ট্রিং ফিল্টার
{ dataIndex: 'age', type: 'numeric' } // বয়সের জন্য নাম্বার ফিল্টার
]
}
],
columns: [
{ text: 'ID', dataIndex: 'id', flex: 1 },
{ text: 'Name', dataIndex: 'name', flex: 2, filter: 'string' },
{ text: 'Email', dataIndex: 'email', flex: 3 },
{ text: 'Age', dataIndex: 'age', flex: 1, filter: 'numeric' }
]
});
plugins: [{ ptype: 'gridfilters' }]
: এখানে gridfilters
প্লাগইন ব্যবহার করে গ্রিডে ফিল্টারিং সক্রিয় করা হয়েছে।filters
: প্রতিটি কলামের জন্য ফিল্টার টাইপ নির্ধারণ করা হয়েছে, যেমন string
ফিল্টার (নাম কলামের জন্য) এবং numeric
ফিল্টার (বয়স কলামের জন্য)।গ্রিডের কলামগুলোর উপর ডেটা সোর্ট করতে, ExtJS sortable
কনফিগারেশন ব্যবহার করে। এর মাধ্যমে আপনি কলামের হেডারে ক্লিক করলেই ডেটা সোর্ট করতে পারবেন, এবং এটি ASCENDING (বর্ধমান) বা DESCENDING (হ্রাসমান) অর্ডারে সজ্জিত হবে।
Ext.create('Ext.grid.Panel', {
title: 'User List with Sorting',
renderTo: Ext.getBody(),
store: {
fields: ['id', 'name', 'email', 'age'],
data: [
{ id: 1, name: 'John Doe', email: 'john@example.com', age: 28 },
{ id: 2, name: 'Jane Smith', email: 'jane@example.com', age: 34 },
{ id: 3, name: 'Sam Green', email: 'sam@example.com', age: 45 },
{ id: 4, name: 'Anna Blue', email: 'anna@example.com', age: 25 }
]
},
columns: [
{ text: 'ID', dataIndex: 'id', flex: 1, sortable: true }, // ID কলামে সোর্টিং সক্ষম
{ text: 'Name', dataIndex: 'name', flex: 2, sortable: true }, // Name কলামে সোর্টিং সক্ষম
{ text: 'Email', dataIndex: 'email', flex: 3 },
{ text: 'Age', dataIndex: 'age', flex: 1, sortable: true } // Age কলামে সোর্টিং সক্ষম
]
});
sortable: true
: এই কনফিগারেশনটি প্রতিটি কলামে সজ্জিত করা হয়েছে যাতে ঐ কলামে ক্লিক করার মাধ্যমে সorting সম্ভব হয়।যখন আপনি ফিল্টারিং এবং সorting একত্রে ব্যবহার করেন, এটি ইউজারকে গ্রিডের ডেটা আরও বিস্তারিতভাবে অনুসন্ধান এবং সজ্জিত করার সুযোগ দেয়। নিচের উদাহরণে, আমরা একসাথে ফিল্টার এবং সorting উভয় ফিচারই ব্যবহার করছি।
Ext.create('Ext.grid.Panel', {
title: 'User List with Filtering and Sorting',
renderTo: Ext.getBody(),
store: {
fields: ['id', 'name', 'email', 'age'],
data: [
{ id: 1, name: 'John Doe', email: 'john@example.com', age: 28 },
{ id: 2, name: 'Jane Smith', email: 'jane@example.com', age: 34 },
{ id: 3, name: 'Sam Green', email: 'sam@example.com', age: 45 },
{ id: 4, name: 'Anna Blue', email: 'anna@example.com', age: 25 }
]
},
plugins: [
{
ptype: 'gridfilters',
filters: [
{ dataIndex: 'name', type: 'string' },
{ dataIndex: 'age', type: 'numeric' }
]
}
],
columns: [
{ text: 'ID', dataIndex: 'id', flex: 1, sortable: true },
{ text: 'Name', dataIndex: 'name', flex: 2, filter: 'string', sortable: true },
{ text: 'Email', dataIndex: 'email', flex: 3 },
{ text: 'Age', dataIndex: 'age', flex: 1, filter: 'numeric', sortable: true }
]
});
এখানে, filters
প্লাগইন এবং sortable: true
একসাথে ব্যবহার করা হয়েছে যাতে ইউজাররা কলামগুলির মাধ্যমে ডেটা ফিল্টার এবং সজ্জিত করতে পারে।
gridfilters
প্লাগইন ব্যবহার করতে হয়, যা বিভিন্ন ধরনের ফিল্টার (যেমন স্ট্রিং, নাম্বার) সমর্থন করে।sortable: true
কনফিগারেশন ব্যবহার করা হয়।এভাবে, ExtJS গ্রিডের মাধ্যমে আপনি খুব সহজেই ফিল্টারিং এবং সorting ফিচার যোগ করে ইউজারদের একটি ইন্টারঅ্যাকটিভ এবং ডেটা-বিষ্লেষণকারী ইন্টারফেস প্রদান করতে পারেন।
Read more