ты пробовал это
getData: function($defer, params) {
$defer.promise.then(function(){
$scope.$broadcast('rebuild:me');
};
...
сразу после обновления таблицы
Изменить 1
tbody
заменяется на div
и, таким образом, макет стал беспорядочным, проверьте plunk
Редактировать 2
Здесь обходной путь, нужно немного отредактировать, я обновлю позже
Редактировать 3 (последний)
Наконец-то заработайте пример ngtable и ngscrollbar вместе, но это не самое красивое решение, но все же:
1.
вам нужно отделить thead
от остальной части таблицы в новую таблицу, которая находится прямо над основной таблицей
<thead>
<tr >
<th class="sortable" ng-class="{
'nameasc':'sort-asc' ,
'namedesc':'sort-desc'
}[sortTableParam]"
ng-click="SortBy('name')">
<div>name</div>
</th>
<th class="text-center sortable" ng-class="{
'ageasc':'sort-asc' ,
'agedesc':'sort-desc'
}[sortTableParam]"
ng-click="SortBy('age')">
<div>Age</div>
</th>
</tr>
</thead>
</table>
2.
второй - скрыть thead
в основной таблице и обернуть таблицу в тег div
, который будет обрабатываться директивой:
<div style="height:300px" ng-scrollbar rebuild-on="rebuild:me" class="scrollme">
<table ng-table="tableParams" show-filter="true" class="table">
<thead><tr><th ></th><th ></th></tr></thead>
<tbody >
<tr ng-repeat="user in $data">
<td data-title="'Name'" filter="{ 'name': 'text' }" sortable="name">
{{user.name}}
</td>
<td data-title="'Age'" sortable="age">
{{user.age}}
</td>
</tr>
</tbody>
</table>
</div>
3.
Щелчки из заголовка вызовут повторную загрузку данных с опцией сортировки путем привязки функции SortBy
var sorting = $scope.tableParams.$params.sorting;
var dir = sorting != null ? (sorting[param.toString()] == 'asc' ? 'desc' : 'asc') : 'asc';
var sort={};
sort[param.toString()]=dir;
$scope.tableParams.sorting(sort);
//edit classes in header for rows imaging(check plunk)
updatesorting(param);
};
person
Kostia Mololkin
schedule
09.10.2014