Я пытаюсь привести таблицу таблиц данных с разбивкой по страницам, которая имеет выбор флажка для данных в ней. Я могу выбрать данные страницы, и когда я перехожу на другую страницу и выбираю другой набор данных, выбор первой страницы будет потерян.PrimeNG datatable checkbox selection with pagination
demo.html:
<p-dataTable [value]="cars" [rows]="10" [paginator]="true" [pageLinks]="3" [rowsPerPageOptions]="[5,10,20]" sortMode="multiple" [(selection)]="selectedCars2">
<p-column [style]="{'width':'38px'}" selectionMode="multiple" ></p-column>
<p-column field="vin" header="Vin"></p-column>
<p-column field="year" header="Year"></p-column>
<p-column field="brand" header="Brand"></p-column>
<p-column field="color" header="Color">
<template let-col let-car="rowData" pTemplate type="body">
<span [style.color]="car[col.field]">{{car[col.field]}}</span>
</template>
</p-column>
<!--<p-column styleClass="col-button">
<template pTemplate type="header">
<input type="checkbox" [(ngModel)]="checkUncheckAll" />
</template>
<template let-car="rowData" pTemplate type="body">
<input type="checkbox" [(ngModel)]="checkValue[car.vin]" (click)="selectCar(car, checkValue[car.vin])"/>
</template>
</p-column>-->
</p-dataTable>
<div class="table-controls-top"><div class="pager"><input type="button" class="button_tablecontrol" (click)="selectCar(selectedCars2)" value="Delete"></div></div>
demo.ts:
import {Component,OnInit} from '@angular/core';
import {Car} from '../domain/car';
import {CarService} from '../service/carservice';
import {Message} from '../common/api';
@Component({
templateUrl: 'app/showcase/demo/datatable/datatabledemo.html'
})
export class DataTableDemo implements OnInit {
cars: Car[];
cols: any[];
msgs: Message[] = [];
checkValue: any;
selectedCars2: any[];
constructor(private carService: CarService) {
this.checkValue = {};
this.selectedCars2 = [];
}
ngOnInit() {
this.carService.getCarsCustom().then(
cars => {
this.cars = cars;
for (var car of this.cars) {
console.log(car.vin)
this.checkValue[car.vin] = false;
}
});
this.cols = [
{field: 'vin', header: 'Vin'},
{field: 'year', header: 'Year'},
{field: 'brand', header: 'Brand'},
{field: 'color', header: 'Color'}
];
}
selectCar(selectedCars) {
console.log(selectedCars)
console.log(this.selectedCars2)
}
}
Я полагаю, что команда не реализована функциональность еще. Любая идея/представление о том, как сохранить выбор строк (в модели «selectedCars2») с разбиением на страницы?
Заранее спасибо.
ли вы когда-нибудь это отсортированный? Кажется, он еще не исправлен ... – goncaloGomes
Вы решили это. Я могу установить флажок в заголовке группы строк, но когда я нажимаю на него, я хочу, чтобы все флажки для этой группы были отмечены. – Ziggler