2016-05-17 1 views
0

Я использую подтасовку от голосовой темы Inspinia, чтобы отсортировать несколько таблиц, которые у меня есть. Фактический плагин ziscloud угловатый (см. Здесь https://github.com/ziscloud/angular-footable). В таблице содержится около 50 записей, которые могут получить больше к тому времени, поэтому в этом смысле разбиение на страницы - это путь. Я попытался использовать разбиение на страницы, но он не работает, плюс первый раз, когда таблица загружает все поля, а затем фильтрует первые 10 элементов.Angular Footable (ziscloud) показывает только 10 результатов после фильтрации

<table class="table table-hover footable toggle-arrow-tiny" data-page-size="8"> 
    <thead> 
     <tr> 
      <th width="2%" data-sort-ignore="true"></th> 
      <th width="15%" data-sort-initial="true">Publish date</th> 
      <th width="15%">Start date</th> 
      <th width="20%">Name</th> 
      <th width="15%" data-sort-ignore="true">Total bookings</th> 
      <th width="23%" data-sort-ignore="true"></th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr data-ng-repeat="item in vm.pastEducation"> 
      <td class="icon"> 
      <img ng-src="{{ vm.showActivityIcon(item.activity.descriptionText) }}" class="list-icon" alt="{{item.activity.descriptionText}}" title="{{item.activity.descriptionText}}"> 
      </td> 
      <td>{{ item.publishDate == '' ? "" : (item.publishDate | date : "yyyy-MM-dd hh:mm") }}</td> 
      <td>{{ item.startDate | date : "yyyy-MM-dd hh:mm" }}</td> 
      <td>{{ item.name }}</td> 
      <td></td> 
      <td class="align-right buttons"> 
      <button data-ng-click="vm.viewEducation(item.id)" class="btn btn-default btn-xs btn-outline"> 
       Show 
      </button> 
      </td> 
      </tr> 
    </tbody> 
    <tfoot> 
     <tr> 
      <td colspan="5"> 
       <ul class="pagination pull-right"></ul> 
      </td> 
     </tr> 
    </tfoot> 
</table> 

Я включил правильные js в файле config.js, и я ничего не загружаю в контроллер.

ответ

0

Прежде всего разбиение на страницы сработало с самого начала, но оно появилось только после того, как я щелкнул один из заголовков таблицы, когда он также отсортировал все значения. Итак, что осталось сделать, это выяснить, как запускать фильтрацию после загрузки таблицы. Вот функция инициализации моего контроллера, где это делается

(function initController() { 
    return educationService.listMin().then(function(data) { 
     vm.ongoingEducation = data.ongoingEducation; 
     vm.pastEducation = data.pastEducation; 
     $timeout(function() { $('table').trigger('footable_redraw'); }, 0); 
    }); 
    })(); 

Эта функция $ таймаут (функция() {$ ('стол') триггер ('footable_redraw.');}, 0); триггеры после загрузки dom и, таким образом, успешно запускает фильтрацию. Поскольку я использую контроллер, также следует объявить $ timeout в начале контроллера.

Смежные вопросы