我想显示所有 project
的tasks
在一个页面中,假设用户可以拥有许多 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
是否通过它。但是当我点击 prev
和 next
按钮我可以清楚地看到我的浏览器添加从: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 )
max
和 offset
是 in the params map ?
关于grails - 如何传递列表值以使分页正确呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9262684/