Groovy:在视图中对列进行排序:列表

时间:2009-12-18 16:22:34

标签: grails listview groovy sorting

我有一个Groovy应用程序。我使用以下语句呈现视图列表:

render (view: 'list', model:[reportingInstanceList: reportingInstanceList, reportingInstanceTotal: i, params: params]) 

list.gsp 如下:

呈现视图但默认排序不起作用。

<g:sortableColumn class="tabtitle" property="id" title="Id" titleKey="reporting.id" />
<g:sortableColumn class="tabtitle" property="company" title="Company" titleKey="reporting.company" />

不幸的是,默认排序(按ID,按公司等)不起作用。 任何暗示为什么?

提前多多感谢。

路易斯

2 个答案:

答案 0 :(得分:14)

如果您询问列表页面上列顶部的排序/订单链接,则链接会返回到最初用于填充列表的控制器和方法。此外,URL还包括排序和订单的参数。例如:

/tracker/bug/searchCurrentUserProject?sort=name&order=asc

然后,控制器方法需要处理链接中的排序和顺序值:

params.sort = params.sort ?: "priority"

params.order = params.order ?: "asc"

并将它们传递给数据库查询:

def bugList = Bug.createCriteria().list( sort:params.sort, order:params.order, max:params.max, offset:params.offset) { eq "projectId", new Integer (params.projectId) }

答案 1 :(得分:0)

您可以在表单中添加两个隐藏字段,使用Javascript动态设置它们并将其与表单一起发送。