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

Lui*_*ixv 6 sorting grails groovy listview

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

render (view: 'list', model:[reportingInstanceList: reportingInstanceList, reportingInstanceTotal: i, params: params]) 
Run Code Online (Sandbox Code Playgroud)

的list.gsp如下:

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

<g:sortableColumn class="tabtitle" property="id" title="Id" titleKey="reporting.id" />
<g:sortableColumn class="tabtitle" property="company" title="Company" titleKey="reporting.company" />
Run Code Online (Sandbox Code Playgroud)

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

非常感谢提前.

路易斯

小智 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) }

  • 要添加:如果使用动态查找程序或其他GORM方法,您只需将params对象传递给它们(即Account.list(params)). (2认同)