Trying to implement a simple application in angular 2 using angular material. I implemented a simple table with pagination . I also used mat-select component, but for this i want implement a search filter to type and search the required option from the list. Below shown is my .html file <table> <tr><td> Department</td> <td> <mat-form-field> <mat-select placeholder=" "> <mat-option> </mat-option> <mat-option *ngFor="let dep of dept" [value]="dep">{{dep}}</mat-option> </mat-select> </mat-form-field><br/> </td> </tr> </table> <br><br> <button >Search</button> <button >Reset</button> <button >Close</button> <mat-card> <div class="example-container mat-elevation-z8"> <mat-table #table [dataSource]="dataSource"> <!-- Account No. Column --> <ng-container matColumnDef="accno"> <mat-header-cell *matHeaderCellDef> Account No. </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.accno}} </mat-cell> </ng-container> <!-- Account Description Column --> <ng-container matColumnDef="accdesc"> <mat-header-cell *matHeaderCellDef> Account Description </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.accdesc}} </mat-cell> </ng-container> <!-- Investigator Column --> <ng-container matColumnDef="investigator"> <mat-header-cell *matHeaderCellDef> Investigator </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.investigator}} </mat-cell> </ng-container> <!-- Account CPC Column --> <ng-container matColumnDef="accCPC"> <mat-header-cell *matHeaderCellDef> Account CPC </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.accCPC}} </mat-cell> </ng-container> <!-- Location Column --> <ng-container matColumnDef="location"> <mat-header-cell *matHeaderCellDef> Location </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.location}} </mat-cell> </ng-container> <!-- Client Dept ID Column --> <ng-container matColumnDef="cdeptid"> <mat-header-cell *matHeaderCellDef> ClientDeptID </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.cdeptid}} </mat-cell> </ng-container> <!-- Dept Description Column --> <ng-container matColumnDef="depdesc"> <mat-header-cell *matHeaderCellDef> Dept Description </mat-header-cell> <mat-cell *matCellDef="let element"> {{element.depdesc}} </mat-cell> </ng-container> <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row> <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row> </mat-table> <mat-paginator #paginator [pageSize]="10" [pageSizeOptions]="[5, 10, 20]"> </mat-paginator> </div> </mat-card> Below shown is my .ts file import {Component, ViewChild} from '@angular/core'; import {MatPaginator, MatTableDataSource} from '@angular/material'; @Component({ selector: 'app-account', templateUrl: './account.component.html', styleUrls: ['./account.component.scss'] }) export class AccountComponent { dept = [ 'Administrative Computer', 'Agosta Laboratory', 'Allis Laboratory', 'Bargaman Laboratory', 'Bio-Imaging Resource Center', 'Capital Projects', 'Casanova Laboratory', 'Darst Laboratory', 'Darnell James Laboratory', 'Deans Office', 'Energy Consultant', 'Electronic Shop', 'Facilities Management', 'Field Laboratory' ]; displayedColumns = ['accno', 'accdesc', 'investigator', 'accCPC','location','cdeptid','depdesc']; dataSource = new MatTableDataSource<Element>(ELEMENT_DATA); @ViewChild(MatPaginator) paginator: MatPaginator; ngAfterViewInit() { this.dataSource.paginator = this.paginator; } } export interface Element { accno: number; accdesc: string; investigator: string; accCPC: string; location:string; cdeptid: number; depdesc: string; } const ELEMENT_DATA: Element[] = [ {accno: 5400343, accdesc: 'ASTRALIS LTD', investigator:'Kruger, James G.', accCPC: 'OR',location:'ON',cdeptid: 110350,depdesc: 'Kruger Laboratory'} ]; can anybody please help me to implement search filter with mat-select component in my application? Continue reading...