<p-dataTable #dt [value]="tabListItem" [rowStyleMap]="styleMap" [responsive]="true" (onLazyLoad)="paginate($event)" [headerCheckboxToggleAllPages]="false"
[resizableColumns]="false" [rows]="numberOfRows" [pageLinks]="pageLinks" [paginator]="false" [sortOrder]="1" selectionMode="'multiple'" (onRowUnselect)="handleRowUnSelect($event)"
[(selection)]="selectedRows" (onPage)="paginate($event)" [lazy]="true" [totalRecords]="totalListCount" (onRowSelect)="handleRowSelect($event)" [rowStyleClass]="lookupRowStyleClass">
<p-column field="" header="" [style]="{'width':'3%'}" [styleClass]="'text-center'" selectionMode="multiple">
<p-checkbox name="groupname" binary="true" (onChange)="selectRow($event,this,car)">
</p-checkbox>
<input type="checkbox" class="check-box" [ngModel]="checkboxValue" (ngModelChange)="selectRow($event,this,car)">
</p-column>
<p-column *ngFor="let data of tableHeaders" field="{{data.fieldNam}}" [sortable]="false" header="{{data.header}}" [style]="{'width':data.style.width}">
<ng-template let-col let-dep="rowData" pTemplate="body">
<span title="{{dep[data.fieldNam]}}">{{dep[data.fieldNam]}}</span>
</ng-template>
</p-column>
</p-dataTable>
Моя лениво загруженная таблица данных, кажется, прекрасно работает с флажками для нескольких вариантов выбора. Когда я нажимаю на другую страницу, она доставляет выбранные строки в массиве точно так, как я думаю, и у меня есть правильный массив, содержащий эти выборки в бине. Затем я могу нажать на дополнительные флажки на этой странице и выбрать дополнительные строки без проблем.
Вот мой вопрос: когда я возвращаюсь на предыдущую страницу, и она отображается, я ожидал увидеть строки, которые я выбрал для ЕЩЕ, будут выделены и выделены, но это не так. Когда я смотрю в массив selectedRows, чтобы увидеть содержимое массива выбора, я понимаю, почему, потому что я вижу, что он содержит только выборки со 2-й страницы и никакие ключи строк на этой первой странице не совпадают.
Мне кажется (при условии, что я все делаю правильно), что выбор нескольких значений доставляет только выбранные строки для строк на отображаемой в данный момент странице данных, а затем он отображает новую страницу данных - и ничто не отображается как выбранное, потому что массив выбора содержит только строки, которые не соответствуют текущим отображаемым данным.
Как это можно исправить