2017-04-08 8 views
1

Ich hatte einige Schwierigkeiten mit ngtables anzufangen. Im Moment stimmt die Seitenzahl zwar, aber ich kann nicht sortieren und filtern. Weder die anfängliche Sortierreihenfolge, die definiert ist, noch ein Vorschlag? DankSortieren und Filtern funktioniert nicht - Ngtable

Script

var app = angular.module('ruyapp', ['ngTable']); 

app.controller('equipasCtrl', function ($scope, $filter, NgTableParams) { 

var tamanho = $("#Tamanho").val(); 

$scope.init = function (equipasCT) { 
    $scope.equipas = equipasCT; 
}; 

$scope.equipasTable = new NgTableParams({ 
    page: 1, 
    sorting:{Nome: 'asc'}, 
    count: $("#Npagina").val() 
}, { 
    total: tamanho, 
    getData: function ($defer, params) { 
     $scope.data = params.sorting() ? $filter('orderBy')($scope.equipas, params.orderBy()) : $scope.equipas; 
     $scope.data = params.filter() ? $filter('filter')($scope.data, params.filter()) : $scope.data; 
     $scope.data = $scope.equipas.slice((params.page() - 1) * params.count(), params.page() * params.count()); 
     $defer.resolve($scope.data); 
    } 
}); 
}); 

Ansicht

<div ng-app="ruyapp" ng-controller="equipasCtrl" ng-init="init(@Newtonsoft.Json.JsonConvert.SerializeObject(Model))"> 

<table class="table" ng-table="equipasTable" show-filter="true"> 
      <tbody> 
       <tr ng-repeat="row in $data"> 

        <td data-title="'Nome'" sortable="'Nome'" filter="{ 'Nome': 'text'}"> 
         {{row.Nome}} 
        </td> 
        <td data-title="'Country'" sortable="'Country'" filter="{ 'Country': 'text'}"> 
         {{row.Country}} 
        </td> 

        <td data-title="'Abreviatura'" sortable="'Abreviatura'" filter="{ 'Abreviatura': 'text'}"> 
         {{row.Abreviatura}} 
        </td> 
        <td> 
         <a href="Equipas/Edit/{{row.EquipaID}}"> Editar</a> | 
         <a href="Equipas/Details/{{row.EquipaID}}"> Detalhes</a> | 
         <a href="Equipas/Delete/{{row.EquipaID}}"> Eliminar</a> 
        </td> 
       </tr> 

      </tbody> 
    </table> 


</div> 

View

+0

können Sie eine Geige erstellen? –

Antwort

3

Hier ist ein funktionierendes Beispiel. http://codepen.io/mkl/pen/KWjbKV So habe ich den Code um die getData geändert, damit die Sortier- und Filterfunktion funktioniert.

{ 
    //total: $scope.data.length, 
    getData: function(params) { 
     var data = $scope.equipas; 
     data = params.filter() ? $filter('filter')(data, params.filter()) : data; 
     data = params.orderBy() ? $filter('orderBy')(data, params.orderBy()) : data; 
     params.total(data.length); 
     data = data.slice((params.page() - 1) * params.count(), params.page() * params.count()); 
     return data; 
    } 
+0

verwendet Ihre Probe und Korrektur, um über nicht sehr nützliches Beispiel für ng-Tabelle zu bekommen. Sie haben viele Beispiele angeführt, aber keine davon ist sehr klar, wenn Sie ein Anfänger sind. Dies funktionierte gut mit eckigen 1.6.5 und ng-Tabelle 3.0.1 – Acewin

Verwandte Themen