2017-10-19 3 views
1

Dies ist ein Auszug aus einem Code im arbeiten mit ng-Tabelle. Mein Problem ist wirklich einfach und angeblich sollte es einfach zu überwinden sein, aber ich bin einfach nicht dazu in der Lage.Ng-Tabelle gefilterte Daten

Dies ist der Extrakt:

$scope.loading++; 
      clean();  
      $scope.environment = "SOMEENV"; 
        $http({ 
         method: 'GET', 
         url: 'http://SOMEIP:SOMEPORT/all?environment=SOMEENV' 
         }).then(function successCallback(response) { 
           // this callback will be called asynchronously 
           // when the response is available 

           $scope.nodes = response.data; 
           $scope.chartdataservtype=countservtype(response.data); 
           $scope.tableParams = new NgTableParams({}, { dataset: response.data.rows }); 

... mehr Code danach.

Lets sagt, dass später, ich möchte die gefilterten Daten, nicht nur aus dem sichtbaren Teil der Tabelle, sondern aus der ganzen Tabelle. Nach ihren GitHub Repo, sollte ich in der Lage sein, dass das Schreiben so leicht zu tun:

var filteredData = $scope.tableParams.data; 

Aber das Problem ist, dass dieser Ansatz mir nur die sichtbaren Zeilen auf dem Tisch gibt. Und ich möchte die ganze Datenmenge.

Es gibt einige Leute sagen, dass ich die getData Funktion von NG-Tabelle anpassen kann (obwohl auf ihrem Repo andere Leute sagen, ist nicht erforderlich, da es "gelöst" ist), aber ich weiß nicht, wie das geht.

Können Sie mir dabei helfen?

+0

btw, hier ist es, wo sie sagen, sein Fest: https://github.com/esvit/ng-table/pull/937 –

Antwort

2

Sie können die gefilterten Daten einschließlich der ngTableEventsChannel Dienst in Ihrem Controller zugreifen, und für Filterwechsel hören:

function yourController($scope, NgTableParams, ngTableEventsChannel) { 
    activate(); 

    function activate() { 
     ngTableEventsChannel.onAfterDataFiltered(function(tableParams, filteredData){ 
      //DO SOMETHING 
     }); 
    } 
} 

In diesem Fall wird die tableParamsNgTableParams Instanz sein, die sich geändert hat. Und filteredData wird sein, worauf Sie zugreifen möchten, Ihre gefilterten Daten (yahoo!).

Weitere Informationen: http://ng-table.com/api-docs/classes/ngtableeventschannel.html

+0

haha. Gut zu wissen. Ich musste die getData-Funktion neu schreiben, nur um das zu bekommen. Danke trotzdem! :) –

Verwandte Themen