2017-04-08 4 views
1

J'ai eu quelques difficultés à démarrer avec ngtables. À l'heure actuelle, la pagination est correcte, mais je ne peux pas faire de tri et de filtrage. Ni l'ordre de tri initial qui est défini Une suggestion? MerciTrier et les filtres ne fonctionnent pas - 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); 
    } 
}); 
}); 

Voir

<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

pouvez-vous créer un violon? –

Répondre

3

Voici un exemple de travail. http://codepen.io/mkl/pen/KWjbKV Voici comment j'ai changé le code autour de getData pour faire le tri et le filtrage.

{ 
    //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

utilisé votre échantillon et la correction pour obtenir l'exemple pas très utile de ng-table. ils ont mis beaucoup d'exemples mais aucun d'eux n'est très clair si vous êtes un débutant. Cela a bien fonctionné avec 1.6.5 angulaire et ng-table 3.0.1 – Acewin