2015-07-20 83 views
0

我想知道你如何設置最大分頁結果,我的代碼下面繼續設置最大結果爲默認值10.我想25.任何想法?grails分頁最大結果

def list(Integer max) { 

    def recoverySetupList = RecoverySetup.createCriteria().list { 
      'in'("division", userService.getDivisions()) 
      maxResults(Math.min(max ? : 25, 100)) 
      firstResult(params.offset ? params.int('offset') : 0) 

      if(params.sort && params.order) { 
       if(params.sort != 'peNameU') { 
        order params.sort, params.order 
       } else { 
        oneSolName { 
         order params.sort, params.order 
        } 
       } 
      } 
     } 

    respond recoverySetupList, model:[recoverySetupInstanceCount: RecoverySetup.count()] 
} 

回答

0

您似乎正在設置它。應該工作,所以問題在別處,例如其中默認最大值是10,是max分配的任意值,那麼params.max呢?

您可以嘗試將max和offset傳遞到列表中 - .. createCriteria().list(max: max, offset: offset)並從標準主體中刪除maxResultsfirstResult

0

我認爲你的代碼第一次工作正常(當沒有提供最大值),但是當你按任何分頁鏈接,那麼它被設置爲10.如果是這樣,那麼你必須在分頁標籤中設置最大值,就像

<g:paginate max="25" total="${recoverySetupInstanceCount}"/> 
0

請使用

  params.max = Math.min(params.max ? params.int('max') : 25, 100) 
      int offset = 0; 
      if(params.offset != null) { 
       offset = (Integer.valueOf(params.offset)); 
      }