У нас есть специальный компонент фильтра в сетке данных ясности. Кажется, фильтрация работает, но кажется, что чего-то не хватает, так как объект сетки данных не имеет значений фильтра.
До сих пор мы пытались создать фильтр, используя (несколько ограниченную) документацию. Размещение фильтра в разных местах в пределах сетки данных (как внутри, так и снаружи столбца, в зависимости от размера фильтра). Установка свойства значения фильтра (когда мы не устанавливаем свойство значения в компоненте фильтра, результаты поиска не фильтруются)
HTML
<clr-dg-filter
[clrDgFilter]="customFilter"
[clrDgFilterOpen]="true"
(clrFilterValue)="('')">
<custom-filter
[dataTable]="myDataTable"
[columnName]="'PseudoStatus'"
[dataGrid]="myDatagrid"
[column]="column"
#customFilter
class="custom-filter">
</custom-filter>
</clr-dg-filter>
КОМПОНЕНТ ФИЛЬТРА
constructor(private filterContainer: ClrDatagridFilter) {
this.filterContainer.setFilter(this);
}
public get changes(): Observable<any> {
return this._changes.asObservable();
}
toggleValue(value: string) {
if (!this.selectedValue[value]) {
this.selectedValue = {};
}
this.selectedValue[value] = !this.selectedValue[value];
this.selectedValue[value] ? this.selectedCounter++ : this.selectedCounter--;
this.value = value;
this.setColumnFilter();
this._changes.next(true);
}
Я ожидаю, что фильтр, который мы установили, можно найти в объекте сетки данных - так же, как ClrDgStringFilter. Примерно так:
field: 'filterColumnName'
filter: DatagridStringFilterImpl
filterValue: 'set filter value'
Однако столбец в объекте сетки данных имеет следующие значения для своих свойств:
field: undefined
filter: undefined
filterValue: [Exception: TypeError: Cannot read property 'value' of undefined at ClrDatagridColumn.get [as filterValue]
В filterValue есть несколько столбцов (без пользовательских фильтров) с этим исключением, даже если у нас нет специального фильтра в сетке данных.