0

我在使用 Groovy on 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()]
}

普惠制:

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

当我使用具有“管理员”角色的帐户登录时,下一个/上一个链接看起来很好。当要列出的项目超过 10 个时,非管理员帐户不会显示下一个/上一个链接。任何人都可以看到我的内容做错了吗?

4

1 回答 1

2

您的标准应该给您一个 pagedResultList,它有一个 totalCount。因此,尝试将控制器的最后一行更改为:

[serviceInstanceList: results, serviceInstanceTotal: results.totalCount]
于 2011-08-09T19:13:39.103 回答