grails - 如何传递列表值以使分页正确呈现?

标签 grails groovy pagination

我想显示所有 projecttasks在一个页面中,假设用户可以拥有许多 projects .在这种情况下,用户将选择任意一个 project从下拉列表框中,我发现该项目实例使用:

    def proj = params.managersProject // this is the choice made by the manager 
    def project = Project.findByName("$proj")
现在我在 project 中有所有详细信息实例。现在我需要显示 tasks那个特定的项目。既然有这么多tasks ,我需要对其进行分页。但是为了使分页正常工作,我想我们需要通过 params像这样 :
Project.list(params) // which will be passed on to the views for rendering. 
但就我而言,我无法调用 list() project上的方法例如,我之前得到的。我该如何解决这个问题?
编辑:
得到tim_yates的答复后,我试过这个:
 def tasks = Tasks.findAllByProject( project, params )
    def size = tasks.size()
    params.max = Math.min(params.max ? params.int('max') : 10,100)
    return [tasksInstanceList: Tasks.findAllByProject(project,params), tasksInstanceTotal: size]
这会返回结果,但是当我单击 next 时按钮 我没有看到正在渲染的任何表格。之后当我点击 prev按钮,我什么都看不到。我清楚地知道tasksInstanceList 有问题, 我不确定 params是否通过它。但是当我点击 prevnext按钮我可以清楚地看到我的浏览器添加从:
http://localhost:8080/app/controller?offset=0&max=10
到:
http://localhost:8080/app/controller?offset=10&max=10
在 View 文件中,我有以下代码:
<g:paginate total="${tasksInstanceTotal}"/>
由于我对 grails 很陌生,所以我需要一些帮助。
提前致谢。

最佳答案

你可以使用:

def proj = params.managersProject // this is the choice made by the manager 
def project = Project.findByName("$proj")
def tasks = Task.findByProject( project, params )
maxoffsetin the params map ?

关于grails - 如何传递列表值以使分页正确呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9262684/

相关文章:

grails - 判别标准

grails - 在 grails 应用程序中安装 spring 安全插件

mysql - groovy : Retrieving diff value 中的 BigDecimal 值存在问题

grails - Grails Controller 中字段之间的级联更新

json - 将 grails 域对象转换为 JSON 并对其进行操作

java - 从 linux 中的 jvm 中查找硬和软打开文件限制(ulimit -n 和 ulimit -Hn)

unit-testing - Spock 未检测到方法调用

asp.net-mvc - 由于输入文本框的过滤而导致绑定(bind)列表发生更改时, Angular 分页不会更新

php - 在 <div> 中每 2500 个字符换行文本以使用 PHP 或 javascript 进行分页

php - 将搜索与分页相结合无法正确输出