2014-11-04 3 views
0

Я создал приложение в angularJS с ngTable. Приложение имеет две таблицы, одна таблица использует группировку с сортировкой, а другая - как обычную таблицу без группировки и нужна только сортировка. Приложение работает нормально, но сортировка не работает для таблицы, которая не имеет функциональности группировки.Общая функция сортировки для получения 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

Форматирование вашего вопроса велико, но вы должны сделать больше исследований, прежде чем опубликовать вопрос –

ответ

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