2014-11-04 16 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