Vaadin ফ্রেমওয়ার্কে ডাটা সোর্স এবং ডাটা ডিসপ্লে করা ওয়েব অ্যাপ্লিকেশনের একটি গুরুত্বপূর্ণ অংশ। এটি ডেভেলপারদের ডেটাবেস বা অন্য কোনো সোর্স থেকে ডাটা নিয়ে এসে সেটি ইউজার ইন্টারফেসে প্রদর্শন করতে সহায়তা করে। Vaadin অনেক ধরনের কম্পোনেন্ট সরবরাহ করে, যার মাধ্যমে ডেটা ভিউ তৈরি করা যায়, যেমন Grid, ListBox, ComboBox ইত্যাদি। এই সিস্টেম ব্যবহার করে ডেটা ইন্টারেক্টিভভাবে ডিসপ্লে করা সম্ভব হয়।
ডাটা সোর্স
ডাটা সোর্স হচ্ছে সেই উৎস, যেখানে থেকে আপনি ডেটা সংগ্রহ করেন। এটি একটি ডেটাবেস, API বা ইন-মেমরি ডাটা স্টোর হতে পারে। Vaadin ডাটা সোর্সের জন্য বিভিন্ন ধরনের সাপোর্ট সরবরাহ করে, যেমন ListDataProvider, BeanDataProvider, এবং JdbcDataProvider ইত্যাদি।
1. ListDataProvider
ListDataProvider ব্যবহার করা হয় একটি সাধারণ Java List বা Array থেকে ডেটা প্রদর্শন করার জন্য। উদাহরণস্বরূপ, একটি List এর ডেটা Grid কম্পোনেন্টে প্রদর্শন করতে:
List<String> dataList = Arrays.asList("Apple", "Banana", "Orange");
ListDataProvider<String> dataProvider = new ListDataProvider<>(dataList);
Grid<String> grid = new Grid<>();
grid.setDataProvider(dataProvider);
grid.addColumn(item -> item).setHeader("Fruits");
- এখানে
ListDataProviderব্যবহার করে একটি সাধারণ তালিকাGridএ প্রদর্শন করা হয়েছে।
2. BeanDataProvider
BeanDataProvider ব্যবহার করা হয় Java Beans বা POJO (Plain Old Java Object) থেকে ডেটা প্রদর্শন করার জন্য। এই পদ্ধতিতে আপনি আপনার ডেটাকে একটি Java Bean অবজেক্টের মধ্যে সাজিয়ে, তারপরে সেই Bean কে Grid এ ডিসপ্লে করতে পারেন।
public class Fruit {
private String name;
private int quantity;
public Fruit(String name, int quantity) {
this.name = name;
this.quantity = quantity;
}
public String getName() {
return name;
}
public int getQuantity() {
return quantity;
}
}
List<Fruit> fruits = Arrays.asList(
new Fruit("Apple", 5),
new Fruit("Banana", 10),
new Fruit("Orange", 7)
);
BeanDataProvider<Fruit> dataProvider = new BeanDataProvider<>(Fruit.class);
Grid<Fruit> grid = new Grid<>();
grid.setDataProvider(dataProvider);
grid.addColumn(Fruit::getName).setHeader("Fruit Name");
grid.addColumn(Fruit::getQuantity).setHeader("Quantity");
- এখানে
BeanDataProviderব্যবহার করা হয়েছেFruitনামক Java Bean থেকে ডেটা প্রদর্শন করতে।
3. JdbcDataProvider
JdbcDataProvider ব্যবহৃত হয় যখন ডেটা ডাটাবেস থেকে সরাসরি লোড করতে হয়। এটি JDBC কনফিগারেশন এবং ডেটাবেস কনেকশন ব্যবহার করে ডেটা ফেচ করে।
JdbcDataProvider<Product> dataProvider = new JdbcDataProvider<>(Product.class,
"SELECT * FROM products", connection -> {
// Database connection code
});
Grid<Product> grid = new Grid<>();
grid.setDataProvider(dataProvider);
- এই উদাহরণে,
JdbcDataProviderএকটি SQL কোয়েরি ব্যবহার করে ডেটাবেস থেকে ডেটা সংগ্রহ করে এবংGridকম্পোনেন্টে প্রদর্শন করে।
ডাটা ডিসপ্লে করা
Vaadin ডেটাকে ইউজার ইন্টারফেসে ডিসপ্লে করতে বিভিন্ন কম্পোনেন্ট সরবরাহ করে। ডেটা ভিউ তৈরি করার জন্য সাধারণত Grid, ComboBox, ListBox, এবং DataView ব্যবহার করা হয়।
1. Grid
Grid হচ্ছে একটি শক্তিশালী এবং কাস্টমাইজযোগ্য কম্পোনেন্ট, যা ডেটা প্রদর্শনের জন্য ব্যবহৃত হয়। এটি সাধারণত টেবিল বা লিস্টের আকারে ডেটা দেখানোর জন্য ব্যবহৃত হয়।
Grid<Fruit> grid = new Grid<>();
grid.setItems(fruits);
grid.addColumn(Fruit::getName).setHeader("Fruit Name");
grid.addColumn(Fruit::getQuantity).setHeader("Quantity");
- এখানে
Gridব্যবহার করেFruitঅবজেক্টের নাম এবং পরিমাণ প্রদর্শন করা হচ্ছে।
2. ComboBox
ComboBox একটি ড্রপডাউন লিস্ট তৈরি করতে ব্যবহৃত হয়। এটি সাধারণত সিলেকশনের জন্য ব্যবহার করা হয়।
ComboBox<String> comboBox = new ComboBox<>("Select Fruit");
comboBox.setItems("Apple", "Banana", "Orange");
- এখানে
ComboBoxব্যবহার করে ফ্রুটের নামের একটি ড্রপডাউন তৈরি করা হয়েছে।
3. ListBox
ListBox ব্যবহার করে আপনি লিস্টের আকারে ডেটা প্রদর্শন করতে পারেন। এটি একাধিক অপশন প্রদর্শন করে, কিন্তু ড্রপডাউন লিস্টের মতো কাজ করে না।
ListBox<String> listBox = new ListBox<>();
listBox.setItems("Apple", "Banana", "Orange");
- এখানে
ListBoxব্যবহার করে ফ্রুটের নামের একটি লিস্ট তৈরি করা হয়েছে।
ডাটা ডিসপ্লে কাস্টমাইজেশন
Vaadin আপনাকে ডেটা ডিসপ্লে কাস্টমাইজ করার সুযোগ দেয়। আপনি কলাম হেডার, স্টাইল, কাস্টম কম্পোনেন্ট এবং বিভিন্ন কন্ডিশনাল ফরম্যাটিং ব্যবহার করে ডেটাকে আরও ইন্টারেক্টিভ এবং সুন্দরভাবে উপস্থাপন করতে পারেন। উদাহরণস্বরূপ, কলামের ভ্যালু এবং রেকর্ডের শো করার সময় কাস্টম ফরম্যাটিং ব্যবহার করা:
grid.addColumn(fruit -> fruit.getQuantity() > 5 ? "Available" : "Out of stock")
.setHeader("Availability");
- এখানে
Gridএর জন্য একটি কাস্টম কলাম যোগ করা হয়েছে, যাFruitএর পরিমাণের উপর ভিত্তি করে "Available" অথবা "Out of stock" প্রদর্শন করবে।
Vaadin-এ ডাটা সোর্স এবং ডাটা ডিসপ্লে করা খুবই শক্তিশালী এবং কাস্টমাইজযোগ্য। আপনি সহজেই ডেটা সোর্সে এক্সেস করতে পারেন এবং Grid, ComboBox, ListBox এর মতো কম্পোনেন্ট ব্যবহার করে সেই ডেটাকে সুন্দরভাবে ইউজার ইন্টারফেসে প্রদর্শন করতে পারেন। Vaadin এর ডেটা প্রদর্শন সিস্টেম ডেভেলপারদের জন্য খুবই সুবিধাজনক এবং ইন্টারেক্টিভ ওয়েব অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।
Read more