Почему мой угловой пейджинг не работает?

0

Пейджинг работал, когда данные были заполнены при загрузке. После включения функции ввода/поиска/поиска для заполнения ng-сетки я больше не вижу 5 элементов на странице, а следующие/предыдущие кнопки не работают. Я считаю, что изменение данных в gridOptions от "myData" до "source" разбило разбивку на страницы. Я пытаюсь передать $ scope.source в функцию setPagingData, но имеет проблемы. Как заставить пейджинг работать правильно?

 $scope.setPagingData = function(data, page, pageSize) {
            var pagedData = data.slice((page - 1) * pageSize, page * pageSize);
            $scope.myData = pagedData;

            $scope.totalServerItems = data.length;
            if (!$scope.$$phase) {
              $scope.$apply();
            }
          };

 $scope.gridOptions = {
            data: 'source',
            enablePaging: true,
            pagingOptions: $scope.pagingOptions,
            showFooter: true
          };

Здесь плункер

Теги:
angularjs-scope

1 ответ

0

Хорошо, допустим, мы добавим такой кусок кода, чтобы использовать макетные данные в контроллере.

          $scope.getPagedDataAsync = function(url, pageSize, page, searchText) {
            setTimeout(function() {
                var data;
                 /// this is new and required only for sake of plunker
                if(typeof url !== 'string'){
                  $scope.setPagingData(url, page, pageSize);
                }

Теперь становится ясно, что вы перепутали параметры сетки и предоставили в качестве исходных нефильтрованных данных.

          $scope.gridOptions = {
            data: 'source',//should be myData
            enablePaging: true,
            pagingOptions: $scope.pagingOptions,
            showFooter: true
          };

Ещё вопросы

Сообщество Overcoder
Наверх
Меню