Я использую "@swimlane/ngx-datatable": "^17.0.0"
там, где я хотел бы иметь возможность группировать строки и переключать их.
Я также хочу использовать таблицу «обычно», что означает, что мне нужно переключаться между сгруппированными и разгруппировано (нормально).
Это выделение с помощью свойства groupBy
:
<mat-form-field style="margin-left: 15px">
<mat-select placeholder="Gruppieren nach..." [(value)]="groupBy">
<mat-option [value]="null" (click)="table.groupedRows = null; loadRows()">Nicht gruppieren</mat-option>
<mat-option *ngFor="let column of columns" [value]="column.prop" (click)="loadRows()">
{{ column.name }}
</mat-option>
</mat-select>
</mat-form-field>
Это заголовок группы:
<ngx-datatable-group-header *ngIf="groupBy" [rowHeight]="50" >
<ng-template let-group="group" let-expanded="expanded" ngx-datatable-group-header-template>
<div (click)="toggleExpandGroup(group)" >
<b [class.datatable-icon-right]="!expanded" [class.datatable-icon-down]="expanded">
{{ group.key + ': '+ group.value?.length }}
</b>
</div>
</ng-template>
</ngx-datatable-group-header>
The *ngIf="groupBy"
в заголовке группы, кажется, уничтожает toggleExpandGroup(group)
, когда groupBy
изменяется с нуля | undefined до указанного столбца c. Его больше нельзя переключить. Если я удалю, все заработает. Но тогда всегда в «нормальном» виде отображается заголовок группы. Это противоречие.
Я не понимаю, почему он так себя ведет. Есть ли другой способ переключиться с группировки на нормальный и обратно? Если вам нужен дополнительный код, дайте мне знать.
Заранее благодарим за вашу помощь.