В вашем вопросе действительно отсутствуют детали, но если вы хотите изменить страницу (нумерацию страниц) после нажатия на ячейку. Теперь вы можете сделать это через новый PaginationService
, который я недавно добавил в lib. В коде, который будет
<angular-slickgrid
gridId="grid5"
[columnDefinitions]="columnDefinitions"
[gridOptions]="gridOptions"
[dataset]="dataset"
(onGridStateChanged)="gridStateChanged($event)"
(onAngularGridCreated)="angularGridReady($event)">
</angular-slickgrid>
, затем в вашем Компоненте
export class MyExample implements OnInit {
angularGrid: AngularGridInstance;
columnDefinitions: Column[];
gridOptions: GridOption;
dataset = [];
angularGridReady(angularGrid: AngularGridInstance) {
this.angularGrid = angularGrid;
}
defineGrid() {
this.columnDefinitions = [
{
id: 'action', name: 'Action', field: 'action',
onCellClick: (e, args) => {
// maybe do something with args or args.dataContext?
this.goToPageNumber(2);
},
},
];
}
goToPageNumber(page: number) {
this.angularGrid.paginationService.goToPageNumber(page);
}
goToFirstPage() {
this.angularGrid.paginationService.goToFirstPage();
}
goToLastPage() {
this.angularGrid.paginationService.goToLastPage();
}
}
Если вы хотите сделать это для любого столбца или ячейки, по которым вы щелкнули, вы можете использовать (sgOnClick)="onCellClicked($event.detail.eventData, $event.detail.args)"
в вашем представлении изатем в вашем Компоненте onCellClicked(e, args) { ... }
Но это может быть не то, о чем вы просите, опять же, в ваших вопросах отсутствует содержание. Пожалуйста, дайте больше деталей на ваш вопрос и добавьте код. В чем твоя проблема? Также обратите внимание, что разбиение на страницы работает только с BackendServiceApi
, которые являются OData или GraphQL (или даже пользовательскими).
О, и я автор Angular-Slickgrid, если у вас нет 'т заметил.