/ / Angular-ui-grid - jak rozpoznać, czy jestem w ostatnim rzędzie - angular-ui-grid

Angular-ui-grid - jak rozpoznać, czy jestem w ostatnim rzędzie?

Używam najnowszej wersji Kątowa siatka interfejsu użytkownika i walczę z tym, jak ustalić, czy fokus jest aktualnie na ostatnio wyświetlanym wierszu siatki.

Tablica danych nie jest posortowana tak jak jestna ekranie, więc nie mogę używać tych informacji. Czytałem, że widoczna pamięć podręczna wiersza powinna być posortowana tak, jak jest na ekranie, ale myślę, że może być związana ze starą ng-siatką. W każdym razie, jeśli popatrzę gridApi.core.getVisibleRows(myGrid) nadal ma sortowanie według surowych danych.

Obecnie zajmuję się wydarzeniem gridApi.cellNav.on.navigate(newRowCol, oldRowCol). Widzę kolumnę i wiersz, które ma użytkownikskupić się na, ale nie widzę żadnych wartości w tym zdarzeniu (lub gdzie indziej), które mogę wykorzystać do ustalenia, czy wiersz jest ostatnim wyświetlanym na ekranie. Doceniam wszelkie wskazówki !!

Odpowiedzi:

1 dla odpowiedzi № 1

Powinieneś użyć gridApi.grid.renderContainers.body.visibleRowCache, który jest tablicą posortowaną w sposób, w jaki wiersze są widoczne na ekranie. Następnie możesz sprawdzić, czy wiersz jest ostatnim rzędem z czymś takim jak:

oldRowCol.row.uid == $scope.gridApi.grid.renderContainers.body.visibleRowCache[$scope.gridApi.grid.renderContainers.body.visibleRowCache.length-1].uid