Компоненты PrimeNG
Table
Toggle

Column Toggle

<p-table [columns]="selectedColumnToggle" [value]="productsColumnToggle" responsiveLayout="scroll">
  <ng-template pTemplate="caption">
    <p-multiSelect [options]="cols" [(ngModel)]="selectedColumns" optionLabel="header" selectedItemsLabel="{0} columns selected" [style]="{minWidth: "200px"}" placeholder="Choose Columns"></p-multiSelect>
  </ng-template>
  <ng-template pTemplate="header" let-columns>
    <tr>
      <th>Code</th>
      <th *ngFor="let col of columns">
        { { col.header } }
      </th>
    </tr>
  </ng-template>
  <ng-template pTemplate="body" let-product let-columns="columns">
    <tr>
      <td>{ { product.code } }</td>
      <td *ngFor="let col of columns">
        { { product[col.field] } }
      </td>
    </tr>
  </ng-template>
</p-table>