如何在 Grails 视图中对列进行排序
How to sort columns in Grails view
在索引方法中,我列出了特定玩家的记录。
例如
def index() {
Player player = Player.get( params.playerId)
def records = Record.findAllByPlayer(player, params:params)
[records: records, playerInstance: player, params: params]
}
这有效,但 none 的可排序列在视图中有效。
如何查找需要排序的列,然后如何在 findAllByXXX 中使用此信息?我搜索了 Google 但没有找到任何不涉及简单 "Books.list(params)" 模式的示例。
在视图中,我有 sortableColumns:
<g:sortableColumn property="createdAt" title="${message(code: 'paymentRecord.created.label', default: 'Created at')} "
params="${params}" style="width: 15%;"/>
我在 URL 的末尾看到了参数,例如:
/index/1?sort=credit&order=desc
您需要 Record.findAllByPlayer(player, params)
而不是 Record.findAllByPlayer(player, params:params)
。
您可以查看示例here in grails documentation。文档中的一个示例是
def results = Book.findAllByTitle("The Shining",
[max: 10, sort: "title", order: "desc", offset: 100])
list 方法中可用的分页和排序参数也可用于动态查找器。
因此,如果您在参数中有可用的排序和顺序,那么您可以这样做。
Record.findAllByPlayer(player, params)
或
Record.findAllByPlayer(player, [max: xx, offset: xx, sort: "name", order: "desc"])
在索引方法中,我列出了特定玩家的记录。
例如
def index() {
Player player = Player.get( params.playerId)
def records = Record.findAllByPlayer(player, params:params)
[records: records, playerInstance: player, params: params]
}
这有效,但 none 的可排序列在视图中有效。
如何查找需要排序的列,然后如何在 findAllByXXX 中使用此信息?我搜索了 Google 但没有找到任何不涉及简单 "Books.list(params)" 模式的示例。
在视图中,我有 sortableColumns:
<g:sortableColumn property="createdAt" title="${message(code: 'paymentRecord.created.label', default: 'Created at')} "
params="${params}" style="width: 15%;"/>
我在 URL 的末尾看到了参数,例如:
/index/1?sort=credit&order=desc
您需要 Record.findAllByPlayer(player, params)
而不是 Record.findAllByPlayer(player, params:params)
。
您可以查看示例here in grails documentation。文档中的一个示例是
def results = Book.findAllByTitle("The Shining",
[max: 10, sort: "title", order: "desc", offset: 100])
list 方法中可用的分页和排序参数也可用于动态查找器。
因此,如果您在参数中有可用的排序和顺序,那么您可以这样做。
Record.findAllByPlayer(player, params)
或
Record.findAllByPlayer(player, [max: xx, offset: xx, sort: "name", order: "desc"])