primeng table - это компонент с полной функциональностью два из темы, которая может решить эту проблему, изменение размера столбца, поэтому в зависимости от предпочтений пользователя можно изменить ширину столбца, чтобы увидеть дополнительную информацию, а другой - адаптивный, поэтому таблица может поддерживать экран небольшого размера, такой как мобильный .
шаблон
<p-table [columns]="columnDefinitions" [value]="dataSet" [resizableColumns]="true" [responsive]="true">
<ng-template pTemplate="header" let-columns>
<tr>
<th *ngFor="let col of columns" pResizableColumn>
{{col.name}}
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData let-columns="columns">
<tr>
<td *ngFor="let col of columns" class="ui-resizable-column">
<span class="ui-column-title">{{col.name}}</span>
{{rowData[col.field]}}
</td>
</tr>
</ng-template>
</p-table>
Изменение размера столбца , реагирование
проверка в реальном времени демо ?
Обновление ?
мы можем установить размеры столбцов с изменяемым размером и установить тинитальное состояние столбца с этими опциями [resizableColumns]="true" columnResizeMode="expand"
, основная проблема заключается в изменении размера во время выполнения, поэтому мы установим начальное состояние размера столбцов с помощью функции состояния таблицы, как это
localStorage.setItem(
'statedemo-local',
'{"columnWidths":"250,200,400,250"}'
);
, которая установит размер ширины столбцов и поскольку мы устанавливаем изменение размера для расширения, мы увидим горизонтальную полосу прокрутки.
<p-table [columns]="columnDefinitions" [value]="dataSet" [resizableColumns]="true" columnResizeMode="expand" stateStorage="local" stateKey="statedemo-local">
<ng-template pTemplate="header" let-columns>
<tr>
<th *ngFor="let col of columns" pResizableColumn>
{{col.name}}
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData let-columns="columns">
<tr>
<td *ngFor="let col of columns" class="ui-resizable-column">
<span class="ui-column-title">{{col.name}}</span>
{{rowData[col.field]}}
</td>
</tr>
</ng-template>
</p-table>
demo ??