簡體   English   中英

分頁:第一頁顯示所有結果

[英]Pagination : First page displays all the result

我想在幾個頁面上顯示查詢結果,因此我使用標簽分頁。 除第一頁外,我在所有頁面中都有正確的輸出(我希望每頁5個結果)。 在第一頁中,顯示所有結果。

控制器:

 def questions(){
    def questions = Question.list(params)

    [questions: questions, total: Question.count()?:0, tags: Tags.list(), params: params]
}

視圖

 <g:each in="${questions}" var="question">                                      
      <div class="row">
         ${question?.body }
     </div>
 </g:each>
 <div class=pagination>
  <g:paginate controller="Question" action="list" total="${total}" max="5" params="${params}"/>
</div>

為什么我在第一頁中得到所有結果?

發生這種情況是因為params沒有max

設置params.max = 10 ,然后調用questions()將導致第一頁有10個項目。

// will result in Question.list(max: 10)
def questions = Question.list(params)

但是,請確保如果后續頁面再次調用相同的操作,則必須將params.max設置為5或將其完全刪除,因為<g:paginate> max會處理其余部分。

您可以在控制器操作的開頭添加以下行:

params.max = params.max ?: 5

如果未指定max參數,則默認值為5。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM