2014-11-04 34 views
0

我在angularJSngTable中創建了一個應用程序,該應用程序有兩個表,一個表使用分組功能進行排序,另一個表使用不帶分組的普通表並且只需要排序,應用程序工作正常,但排序不適用於沒有分組功能的表。獲取ngTableParams的常見排序功能不適用於非分組表

因爲我使用兩個表格,並且都使用排序功能,所以我製作了一個通用的方法來獲取如下所示的ngTableParams對象,但不幸的是,排序不適用於沒有分組的第一個表格,分組功能排序正在工作。

Working demo

// NOT WORKING 
$scope.tableParamsOne = getNgTableParams('name', 'desc' ,'', $scope.myDataOne); 

// WORKING 
$scope.tableParamsTwo = getNgTableParams('name', 'desc' ,'name', $scope.myDataTwo); 


function getNgTableParams(sortingField, sortingOrder, groupByField, tableDatas) 
{ 
    return new ngTableParams({ 
      sorting: { 
       sortingField: sortingOrder 
      } 
     }, { 
      groupBy: groupByField, 
      getData: function($defer, params) { 
       var orderedData = $filter('orderBy')(tableDatas, params.orderBy()); 
       $defer.resolve(orderedData); 
      } 
     }); 
} 

誰能請告訴我,在你需要遍歷第一個表這個

+0

你的問題的格式很好,但你應該在發佈問題之前做更多的研究 – 2014-11-04 09:38:56

回答

2

一些解決方案在$data

<table ng-table="tableParamsOne" class="table"> 
    <tr ng-hide="false" ng-repeat="user in $data"> 
     <td sortable="name" data-title="'Name'"> 
     {{user.name}} 
     </td> 
     <td sortable="age" data-title="'Age'"> 
     {{user.age}} 
     </td> 
    </tr> 
    </table> 

工作plunk