Arhn - архитектура программирования

Разбивка на страницы в GSP с помощью списка массивов

Как я могу использовать тег <g:paginate\> для разбиения на страницы списка массивов в таблице?

у меня такое есть в контроллере

def selectevents(){
def events = DomainEvents.findAllByMonth('June')   
[events:events, count:events.size()]

}

И у меня есть это в моем GSP:

<table id="results-table" class="table table-bordered table-striped" style="width:100%">
<thead>
<tr style="background: #d3d3d3;">
    <th style="width: 3%;text-align: center;"></th>
    <th style="width: 10%;text-align: center;">Name</th>        
</tr>
</thead>
<g:each in="${events}" status="i" var="eventsInstance">
    <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
    <td>-</td>
    <td>${eventsInstance?.Name}</td>

    </tr>
</g:each>

and then this:

<g:paginate next="Forward" prev="Back" maxsteps="5" controller="Controller" action="selectevents" total="${count}" />

Но тег пагинации не появляется. Я хочу сделать разбиение на страницы, чтобы получить 5 строк на странице, кто-нибудь?

23.06.2014

Ответы:


1

Ваш код вызывает DomainEvents.findAllByMonth('June'), который возвращает все события за июнь. Вы хотите получить только подмножество из 5 из них, а затем использовать разбиение на страницы для навигации по этим подмножествам.

Вы, вероятно, хотите что-то вроде этого в своем контроллере:

def showEvents() {
    params.max = 5
    def count = DomainEvents.countByMonth('June')
    def events = DomainEvents.findAllByMonth('June', params)
    [domainEventsInstanceCount: DomainEvents.count(), domainEventsInstanceList: events]
}

А потом что-то вроде этого в вашем GSP:

<div class="pagination">
    <g:paginate total="${domainEventsInstanceCount ?: 0}" />
</div>

Надеюсь, это поможет.

23.06.2014
  • Обратите внимание, что DomainEvents.countByMonth('June') требуется, так как вы не хотите ссылаться на events.size(), так как он будет включать только 5 элементов. Вы хотите, чтобы отображались 5 элементов, но также хотите знать общее количество, чтобы тег paginate знал, сколько шагов требуется для навигации по всем из них. 24.06.2014
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..