Angular Material 7 Tutorial
Selected Reading
- Angular Material 7 - Discussion
- Angular Material 7 - Resources
- Angular Material 7 - Quick Guide
- Angular Material 7 - Table
- Angular Material 7 - Sort Header
- Angular Material 7 - Paginator
- Angular Material 7 - Tooltip
- Angular Material 7 - SnackBar
- Angular Material 7 - Ripples
- Angular Material 7 - Progress Bar
- Angular Material 7 - Progress Spinner
- Angular Material 7 - Icons
- Angular Material 7 - Chips
- Angular Material 7 - Badge
- Angular Material 7 - Button Toggle
- Angular Material 7 - Button
- Angular Material 7 - Tree
- Angular Material 7 - Tabs
- Angular Material 7 - Stepper
- Angular Material 7 - List
- Angular Material 7 - Grid List
- Angular Material 7 - Expansion Panel
- Angular Material 7 - Divider
- Angular Material 7 - Card
- Angular Material 7 - Tool Bar
- Angular Material 7 - Side Nav
- Angular Material 7 - Menu
- Angular Material 7 - Toggle Slider
- Angular Material 7 - Slider
- Angular Material 7 - Select
- Angular Material 7 - Radio Button
- Angular Material 7 - Input
- Angular Material 7 - Form Field
- Angular Material 7 - Date Picker
- Angular Material 7 - Check Box
- Angular Material 7 - Auto-Complete
- Environment Setup
- Angular Material 7 - Overview
- Angular Material 7 - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Angular Material 7 - Table
Angular Material 7 - Table
The <mat-table>, an Angular Directives, is used to create table with material design and stypng.
In this chapter, we will showcase the configuration required to show a Table using Angular Material.
Following is the content of the modified module descriptor app.module.ts.
import { BrowserModule } from @angular/platform-browser ; import { NgModule } from @angular/core ; import { AppComponent } from ./app.component ; import {BrowserAnimationsModule} from @angular/platform-browser/animations ; import {MatTableModule} from @angular/material import {FormsModule, ReactiveFormsModule} from @angular/forms ; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, BrowserAnimationsModule, MatTableModule, FormsModule, ReactiveFormsModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
Following is the content of the modified HTML host file app.component.html.
<table mat-table [dataSource] = "dataSource" class = "mat-elevation-z8"> <ng-container matColumnDef = "name"> <th mat-header-cell *matHeaderCellDef> Dessert (100g)</th> <td mat-cell *matCellDef = "let element"> {{element.name}} </td> </ng-container> <ng-container matColumnDef = "calories"> <th mat-header-cell *matHeaderCellDef>Calories</th> <td mat-cell *matCellDef = "let element"> {{element.calories}} </td> </ng-container> <ng-container matColumnDef = "fat"> <th mat-header-cell *matHeaderCellDef>Fat (g)</th> <td mat-cell *matCellDef = "let element"> {{element.fat}} </td> </ng-container> <ng-container matColumnDef = "carbs"> <th mat-header-cell *matHeaderCellDef>Carbs (g)</th> <td mat-cell *matCellDef = "let element"> {{element.carbs}} </td> </ng-container> <ng-container matColumnDef = "protein"> <th mat-header-cell *matHeaderCellDef>Protein (g)</th> <td mat-cell *matCellDef = "let element"> {{element.protein}} </td> </ng-container> <tr mat-header-row *matHeaderRowDef = "displayedColumns"></tr> <tr mat-row *matRowDef = "let row; columns: displayedColumns;"></tr> </table>
Following is the content of the modified ts file app.component.css.
table { width: 100%; }
Following is the content of the modified ts file app.component.ts.
import {Component, Injectable} from @angular/core ; import {Sort} from @angular/material ; export interface Food { calories: number; carbs: number; fat: number; name: string; protein: number; } @Component({ selector: app-root , templateUrl: app.component.html , styleUrls: [ app.component.css ] }) export class AppComponent { dataSource: Food[] = [ {name: Yogurt , calories: 159, fat: 6, carbs: 24, protein: 4}, {name: Sandwich , calories: 237, fat: 9, carbs: 37, protein: 4}, {name: Eclairs , calories: 262, fat: 16, carbs: 24, protein: 6}, {name: Cupcakes , calories: 305, fat: 4, carbs: 67, protein: 4}, {name: Gingerbreads , calories: 356, fat: 16, carbs: 49, protein: 4}, ]; displayedColumns: string[] = [ name , calories , fat , carbs , protein ]; }
Result
Verify the result.
Details
Here, we ve created a table. Added mat-Table and handles tr and th using mat-row and mat-header-row.