Привет, у меня есть таблица данных с 4 столбцами: имя, возраст, оценки, школа. Теперь я хочу применить фильтр для каждого из столбцов. По отдельности фильтр работает нормально. Но я не могу объединить результаты фильтра - например, я не могу отфильтровать имя с оценками> 90 и из школы «abc».
Я пробовал что-то вроде этого, но это не сработало.
applyFilter(filterValue: string) {
console.log("Filter is applied upon:",this.dataSource)
let initialDataSource = this.dataSource;
this.dataSource.filter = filterValue.trim().toLowerCase();
this.filteredDataSource = this.dataSource.filteredData
this.filterVal = this.dataSource.filter;
if(this.filterVal.length != 0){
this.dataSource = new MatTableDataSource(this.filteredDataSource);
this.dataSource.filter = filterValue.trim().toLowerCase();
}else{
this.dataSource = initialDataSource;
this.dataSource.filter = filterValue.trim().toLowerCase();
this.filteredDataSource = this.dataSource.filteredData
}
}
Вышеупомянутая функция выполняет фильтрацию, но когда я очищаю значение фильтра, данные таблицы не меняются. Также он не меняется, когда я удаляю персонажа.
Name which has marks > 90 and from 'abc' School
от того места, где вы проходите90
оценки иabc
название школы - person Prashant Pimpale   schedule 19.04.2019