Angular Material এর MatTable কম্পোনেন্ট একটি শক্তিশালী টেবিল কম্পোনেন্ট যা ডেটাকে সুশৃঙ্খলভাবে এবং পেশাদারভাবে প্রদর্শন করতে সহায়তা করে। এটি একটি কাস্টমাইজযোগ্য এবং রেসপন্সিভ টেবিল তৈরি করতে ব্যবহৃত হয়, যেখানে ব্যবহারকারী সহজেই ডেটা দেখতে এবং ইন্টারঅ্যাক্ট করতে পারে। MatTable কম্পোনেন্টে sorting, pagination, filtering, এবং অন্যান্য ইউজার ইন্টারঅ্যাকশন ফিচার অন্তর্ভুক্ত করা যেতে পারে।
প্রথমে, MatTableModule, MatPaginatorModule, MatSortModule, MatInputModule মডিউলগুলো আপনার app.module.ts
ফাইলে ইমপোর্ট করতে হবে।
import { MatTableModule } from '@angular/material/table';
import { MatPaginatorModule } from '@angular/material/paginator';
import { MatSortModule } from '@angular/material/sort';
import { MatInputModule } from '@angular/material/input';
@NgModule({
imports: [
MatTableModule,
MatPaginatorModule,
MatSortModule,
MatInputModule
]
})
export class AppModule {}
MatTable কম্পোনেন্টে ডেটা প্রদর্শন করার জন্য একটি dataSource
অ্যারে এবং কিছু কলাম ডিফাইন করতে হবে। প্রতিটি কলামের জন্য mat-header-cell এবং mat-cell ব্যবহার করা হয়।
<table mat-table [dataSource]="dataSource" matSort>
<!-- ID Column -->
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef mat-sort-header>ID</th>
<td mat-cell *matCellDef="let element">{{element.id}}</td>
</ng-container>
<!-- Name Column -->
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
<td mat-cell *matCellDef="let element">{{element.name}}</td>
</ng-container>
<!-- Age Column -->
<ng-container matColumnDef="age">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Age</th>
<td mat-cell *matCellDef="let element">{{element.age}}</td>
</ng-container>
<!-- Table Header and Row -->
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
এখানে:
id
, name
, এবং age
হলো তিনটি কলামের উদাহরণ।MatTable কম্পোনেন্টে ডেটা প্রদর্শন করার জন্য একটি ডেটা সোর্স তৈরি করতে হয় এবং কলামগুলো নির্ধারণ করতে হয়।
import { Component } from '@angular/core';
@Component({
selector: 'app-basic-table',
templateUrl: './basic-table.component.html',
})
export class BasicTableComponent {
displayedColumns: string[] = ['id', 'name', 'age'];
dataSource = [
{id: 1, name: 'John', age: 25},
{id: 2, name: 'Jane', age: 30},
{id: 3, name: 'Alex', age: 35},
{id: 4, name: 'Chris', age: 40},
];
}
এখানে:
MatPaginator এবং MatSort মডিউল যোগ করে আপনি টেবিলের জন্য pagination এবং sorting যোগ করতে পারেন।
<mat-paginator [length]="dataSource.length" [pageSize]="5"></mat-paginator>
এখানে:
<table mat-table [dataSource]="dataSource" matSort>
<!-- Column Definitions (as shown above) -->
</table>
টেবিলের ডেটা ফিল্টার করার জন্য matInput এবং MatTableDataSource ব্যবহার করা হয়।
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="Filter">
import { MatTableDataSource } from '@angular/material/table';
export class BasicTableComponent {
displayedColumns: string[] = ['id', 'name', 'age'];
dataSource = new MatTableDataSource([
{id: 1, name: 'John', age: 25},
{id: 2, name: 'Jane', age: 30},
{id: 3, name: 'Alex', age: 35},
{id: 4, name: 'Chris', age: 40},
]);
applyFilter(filterValue: string) {
this.dataSource.filter = filterValue.trim().toLowerCase();
}
}
এখানে:
Angular Material Table একটি শক্তিশালী এবং কাস্টমাইজযোগ্য টেবিল কম্পোনেন্ট যা sorting, pagination, এবং filtering সহ বিভিন্ন ফিচার প্রদান করে। এটি সহজেই MatTableModule, MatPaginatorModule, MatSortModule, এবং MatInputModule মডিউলগুলির মাধ্যমে ব্যবহার করা যায়। Angular Material Table দিয়ে আপনি আপনার অ্যাপ্লিকেশনকে আরও ইন্টারঅ্যাকটিভ এবং ব্যবহারকারীর জন্য উপযোগী করে তুলতে পারেন।
Read more