У меня есть простая TurboTable, где я показываю некоторые данные, включая даты.
<p-table [value]="boxes" #dt>
<ng-template pTemplate="header" let-columns>
<tr>
<th pSortableColumn="Number">
Number
<p-sortIcon field="Number"></p-sortIcon>
</th>
<th pSortableColumn="DateInserted">
Interted at
<p-sortIcon field="DateInserted"></p-sortIcon>
</th>
</tr>
<tr>
<th>
<!-- Here is input to filter number -->
</th>
<th>
<!-- Here I want to use Calendar component to select date range -->
<p-calendar
[(ngModel)]="date"
selectionMode="range"
[readonlyInput]="true"
dateFormat="dd.mm.yy"
(onSelect)="onDateSelect($event)">
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-box>
<tr [pSelectableRow]="box">
<td>{{box.Number}}</td>
<td>{{box.DateInserted | date}}</td>
</tr>
</ng-template>
</p-table>
В настоящее время Turbo Table предлагает только несколько режимов соответствия для использования в фильтрах («startWith», «contains», «endWith», «equals» и «in»). Есть ли возможность фильтровать по дате или диапазонам дат?
Я хочу использовать компонент «Календарь», чтобы выбрать диапазон дат, а затем отфильтровать данные по этим датам. Я использую объекты Date (которые я представляю в таблице с DatePipe). Теперь ни один из этих режимов сопоставления не предлагает возможности правильно сравнивать объекты Date.
Обходной путь - сохранять даты в виде строк, а затем фильтрация работает. Но это не идеальное решение, потому что оно создает проблемы с преобразованием дат в строки, также формат даты должен быть одинаковым везде. Так, может быть, есть лучший вариант для фильтрации по диапазонам дат в TurboTable?