Можно ли переупорядочить замороженные столбцы с помощью перетаскивания с использованием PrimeNg DataTable? - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь реализовать таблицу данных, в которой первые пять столбцов принудительно оставлены, а каждый столбец должен быть переупорядочен.

Я использую Angular 7 с компонентом данных PrimeNG.

Проблема в том, что принудительные столбцы не могут быть переупорядочены, потому что primeNg использует два разных массива для хранения состояния замороженных столбцов и других.

Я пытался использовать обратный вызов onColReorder ($ event), но он показывает только индексы массива других столбцов. Что делает невозможным для меня, чтобы отследить, что идет куда.

Используемый формат таблицы:

<p-table [columns]="columns" [frozenColumns]="frozenColumns" [value]="carsData" [reorderableColumns]="true" [resizableColumns]="true"
     frozenWidth="200px" [scrollable]="true" (onColReorder)="onReorder($event)">
        <ng-template pTemplate="colgroup" let-columns>
            <colgroup>
                <col *ngFor="let col of columns" style="width:200px">
            </colgroup>
        </ng-template>
        <ng-template pTemplate="header" let-columns>
            <tr>
                <th *ngFor="let col of columns" pReorderableColumn pResizableColumn>
                    {{col.header}}
                </th>
            </tr>
        </ng-template>
        <ng-template pTemplate="body" let-rowData let-columns="columns" let-index="rowIndex">
            <tr>
                <td *ngFor="let col of columns" class="ui-resizable-column">
                    {{rowData[col.field]}}
                </td>
            </tr>
        </ng-template>
    </p-table>

Я ожидаю, что замороженные столбцы должны быть переупорядочены с остальными.

...