Grails контроллер / просмотр списка нумерация страниц не отображается следующая / предыдущая опция - PullRequest
0 голосов
/ 09 августа 2011

У меня проблемы с тем, что опции next / prev не отображаются в списках с Groovy на сайте Grails.Я изменил автоматически сгенерированный код контроллера, чтобы ограничить элементы в списке элементами, которые были созданы пользователем.Это работает нормально, однако, если у пользователя более 10 элементов, кнопки «следующий / предыдущий» не отображаются должным образом.Ниже приведены соответствующие фрагменты кода ...

Контроллер:

def list = {
   params.max = Math.min(params.max ? params.int('max') : 10, 100)
   def login = authenticationService.getSessionUser().getLogin()
   def authUser = AuthenticationUser.findByLogin(login)
   def userAcct = User.findByLoginID(authUser)
   def userServices = Service.createCriteria()
   def results
   if (userAcct.role == 'admin') {
      results = userServices.list(params) {}
   } else {
      results = userServices.list(params) {
         eq("userID", userAcct)
      }
   }
   [serviceInstanceList: results, serviceInstanceTotal: results.count()]
}

GSP:

        <div class="paginateButtons">
            <g:paginate total="${serviceInstanceTotal}" />
        </div>

Когда я вхожу с учетной записью с ролью «admin»ссылки next / prev отображаются нормально. Учетные записи без прав администратора не отображают ссылки next / prev, если в списке более 10 элементов. Кто-нибудь может увидеть, что я делаю неправильно?

1 Ответ

2 голосов
/ 09 августа 2011

Ваши критерии должны дать вам pagedResultList, который имеет totalCount.Поэтому попробуйте изменить последнюю строку вашего контроллера на:

[serviceInstanceList: results, serviceInstanceTotal: results.totalCount]
...