dirPagination - не работает пагинация при использовании tbody и динамического диапазона строк?

0

я пытаюсь использовать dirPagination с моим дизайном, но он не работает - в моем коде я динамически передаю строки строк в группу каждый месяц в одной строке, чтобы получить конечный результат:

https://cloud.githubusercontent.com/assets/7356190/8421324/242770f8-1ecd-11e5-8f84-fb2f47bf79d1.png

Код HTML:

<div class="panel panel-default panel-hovered panel-stacked mb20">
<div class="panel-heading" style="font-size:15px;">عرض العملاء الغير جاهزين</div>
<div class="panel-body" dir="rtl" ng-app="jqanim" ng-controller="InvoiceController">
    <input type="text"
           class="form-control input-sm ng-pristine ng-valid ng-touched"
           placeholder="اكتب جزء من الاسم او المدينة او النوع او التاريخ ..."
           tabindex="0"
           aria-invalid="false"
           ng-model="searchText">
    <br />
    <br />
    <table class="table table-bordered">
        <thead>
            <tr class="text-center">
                <td>الشهر</td>
                <td>العميل</td>
                <td>المدينة</td>
                <td>النوع</td>
                <td>التاريخ</td>
            </tr>
        </thead>
        <tbody dir-paginate="customer in customersByMonth | itemsPerPage: 2">
            <tr ng-repeat='cust in customer | filter:searchText'>
                <td ng-if="$first" rowspan="{{customer.length}}" class="text-center">
                    {{cust.MirageDate | date: 'yyyy-MM'}}
                </td>
                <td>{{cust.CustomerName}}</td>
                <td class="text-center">{{cust.City.CityName}}</td>
                <td class="text-center">{{cust.Type.TypeName}}</td>
                <td class="text-center">{{cust.MirageDate | date: 'yyyy-MM-dd'}}</td>
            </tr>
        </tbody>
    </table>
    <div class="text-center">
        <dir-pagination-controls boundary-links="true" template-url="/dirPagination.tpl.html"></dir-pagination-controls>
    </div>
</div>

Код JS:

<script>
var app = angular.module('jqanim', []);

app.controller('InvoiceController', [
                   '$scope', '$http', function ($scope, $http) {
                       $http.get("/api/NoReady")
                           .success(function (data) {
                               var dataByMonth = {};
                               data.forEach(itemToMonth);
                               $scope.customersByMonth = dataByMonth;

                               function itemToMonth(item) {
                                   item.MirageDate = new Date(item.MirageDate)
                                   var month = item.MirageDate.getMonth();
                                   var year = item.MirageDate.getFullYear();
                                   dataByMonth[year + '-' + month] = dataByMonth[year + '-' + month] || [];
                                   dataByMonth[year + '-' + month].push(item);
                               }
                           });
                   }
]);

образец проекта на plnkr: http://plnkr.co/edit/hr9zj6WMW0G6oRWOxC63?p=preview

как вы можете видеть, ничего не случилось - мне просто нужно отобразить 2 tbody на каждой странице

Теги:
angularjs-ng-repeat
dirpagination

1 ответ

0

Стандартная таблица должна иметь один <tbody>.

Попробуйте использовать dir-paginat в <tr>, а затем используйте ng-init чтобы создать значение, отображаемое на лету.

Ещё вопросы

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