Ng-table: Zeile aus ngTable löschen, wenn es das letzte Element auf der Seite ist

Erstellt am 8. Okt. 2015  ·  6Kommentare  ·  Quelle: esvit/ng-table

Wenn das letzte Element aus einer Tabelle auf Seite 2 oder höher entfernt wird, verschwindet die Seitennavigation.

    $scope.tableParams = new ngTableParams({
        page: 1,            // show first page
        count: 10,           // count per page
        sorting: {
            firstName: 'asc'     // initial sorting
        }
    }, {
        total: 0,
        getData: function ($defer, params) {
            $scope.myData = angular.copy($scope.clients, []);
            var filteredData = params.filter() ?  $filter('filter')($scope.myData, params.filter()) : $scope.myData;
            var orderedData = params.sorting() ? $filter('orderBy')(filteredData, params.orderBy()) : filteredData;

            params.total(orderedData.length);
            var data = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());

            //EXTRA CHECK
            if (data.length === 0 && params.page() !== 1){
                params.page(params.page()-1);
                filteredData = params.filter() ?  $filter('filter')($scope.myData, params.filter()) : $scope.myData;
                orderedData = params.sorting() ? $filter('orderBy')(filteredData, params.orderBy()) : filteredData;
                params.total(orderedData.length);
                data = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
            }

            $defer.resolve(data);

        }
    });

Ich habe es mit der obigen Überprüfung umgangen, um zu sehen, ob die gefilterten Daten leer zurückkommen und ob wir nicht auf Seite eins sind. Gibt es eine eingebaute Möglichkeit, dies zu verwalten, die ich übersehe?

Hilfreichster Kommentar

Ich habe in der Vergangenheit auch @msallati- Workaround verwendet. Funktioniert ziemlich gut, aber es wäre schön, diesen Fix der ngTable hinzuzufügen, da er ein wenig nervig ist ... Es ist nur eine Überprüfung während des Löschvorgangs, daher denke ich, dass dies kein Leistungseinbruch für die gesamte Bibliothek sein wird.

Alle 6 Kommentare

+1. Ich habe das gleiche Problem wie oben.

Als Workaround können Sie überprüfen, ob die aktuelle Zeile die letzte auf dieser Seite und nicht die erste Seite ist

if ($scope.tableParams.data.length == 1 && vm.tableParams.page() != 1) {
$scope..tableParams.page(vm.tableParams.page() - 1);
}
$scope.tableParams.reload();

Das habe ich in der Vergangenheit gemacht.

Ich glaube nicht, dass ngTable den Datensatz in absehbarer Zeit überwachen wird
(Dies würde potenzielle Leistungsprobleme einführen). Also würde ich vorschlagen
gehe mit dieser als lösung.

Am Dienstag, den 7. Februar 2017 um 9:46 Uhr schrieb M.Msallati [email protected] :

Als Problemumgehung können Sie überprüfen, ob die aktuelle Zeile die letzte darin ist
Seite und es ist nicht die erste Seite

if ($scope.tableParams.data.length == 1 && vm.tableParams.page() != 1) {
$scope..tableParams.page(vm.tableParams.page() - 1); }
$scope..tableParams.reload();


Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/esvit/ng-table/issues/720#issuecomment-277949435 oder stumm
der Faden
https://github.com/notifications/unsubscribe-auth/AA2HPnt6g1_cHsg4NhwX9VKNbwHuzASsks5raD2HgaJpZM4GLPEq
.

Ich habe in der Vergangenheit auch @msallati- Workaround verwendet. Funktioniert ziemlich gut, aber es wäre schön, diesen Fix der ngTable hinzuzufügen, da er ein wenig nervig ist ... Es ist nur eine Überprüfung während des Löschvorgangs, daher denke ich, dass dies kein Leistungseinbruch für die gesamte Bibliothek sein wird.

Das Problem ist, dass ngTable nichts über den Löschvorgang "weiß".
ngTable müsste den Datensatz auf Änderungen überprüfen - dies wäre a
Leistungsproblem

Am Dienstag, 7. Februar 2017 um 10:04 Uhr, Jakub Powierza [email protected]
schrieb:

Ich habe auch @msallati https://github.com/msallati Workaround in der verwendet
Vergangenheit. Funktioniert ziemlich gut, aber es wäre schön, diesen Fix zur ngTable hinzuzufügen
da es etwas nervig ist... Es ist nur ein Check beim Löschen
Betrieb, daher denke ich, dass dies kein Leistungseinbruch für die gesamte Bibliothek sein wird.


Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/esvit/ng-table/issues/720#issuecomment-277953666 oder stumm
der Faden
https://github.com/notifications/unsubscribe-auth/AA2HPo3igPmhmaPxxusbi-rJ1YreOLGqks5raEGigaJpZM4GLPEq
.

Danke für Ihre Erklärung! Jetzt kann ich voll und ganz verstehen, was los ist :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

penchiang picture penchiang  ·  5Kommentare

ulise picture ulise  ·  5Kommentare

Ebolon picture Ebolon  ·  12Kommentare

yujiayinshi picture yujiayinshi  ·  4Kommentare

jlebleu picture jlebleu  ·  3Kommentare