【问题标题】:Pagination not working for list in grails分页不适用于grails中的列表
【发布时间】:2012-05-27 19:18:09
【问题描述】:

分页在 grails 中对我不起作用。我也无法在 GUI 中看到分页按钮。我在 GUI 中看到整个列表

def lists={
params.max = Math.min(params.max ? params.int('max') : 10, 100) 
def submittedList=[],InstanceList=[]
submittedList=FicheRequest.executeQuery("select fr.id,fr.MOSSNumber from FicheRequest fr where  fr.status=?",['Submitted']) 
    if(submittedList.size()>0){
    def sortedSubmittedList=new MossNumberSorting().getSortedMossNo(submittedList as ArrayList[])
    sortedSubmittedList.each{sortedId->InstanceList.add(FicheRequest.get(sortedId))}
            }
    else
    flash.message="No Submitted Request exists in the queue"

    return [InstanceList:InstanceList, InstanceTotal: InstanceList.count()] 
}

在我使用的 gsp 中

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

我还在 URL 中看到了 max 和 offset 参数

http://localhost:9090/apps2/lists?offset=0&max=10

不知道问题出在哪里,请提出一些解决方案

【问题讨论】:

    标签: grails pagination


    【解决方案1】:

    您可能忘记将参数传递给 line:
    submittedList=FicheRequest.executeQuery("select fr.id,fr.MOSSNumber from FicheRequest fr where fr.status=?",['Submitted'])
    试试这样:
    submittedList=FicheRequest.executeQuery("select fr.id,fr.MOSSNumber from FicheRequest fr where fr.status=?",['Submitted'],[max:params.max,offset:params.offset])
    查看更多详情:
    http://grails.org/doc/latest/ref/Domain%20Classes/executeQuery.html

    【讨论】:

    • 不,这没有帮助,得到相同的结果。我将 InstanceList 传递给视图,它是 FicheRequest 的所有实例的列表。
    • 那么,您到底想要什么?描述任务。
    • 我上面已经提到了我想要的,你想要更详细的解释吗?
    【解决方案2】:

    我找到了对数组列表进行分页的粗略解决方案。我可以传递带有最大值和偏移值的完整列表,并获得我想在视图中显示的列表:

    http://www.intelligrape.com/blog/2010/09/14/grails-pagination-on-filtered-list/

    但这不是一个好的解决方案,因为它需要加载所有数据库值以进行分页。我想到的一种解决方案是以苔藓编号排序格式存储域实例。苔藓数的格式有点复杂;这就是为什么我在从数据库中检索所有实例后使用 Comparator 类对其进行排序的原因。我欢迎关于如何以苔藓编号排序格式或其他格式保存我的实例的更好的想法。

    【讨论】:

      猜你喜欢
      • 2016-02-18
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      相关资源
      最近更新 更多