- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景:默认情况下,g:sortableColumn标记在 Controller 中调用list Action ,并向其传递“sort”参数,该参数指示要对哪个字段进行排序。在我的特定情况下,我正在排序一个Issue类/列表:
class Issue {
String title
...
User assignedTo
...
}
Class User {
String lastName
...
}
def list = {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
[issueInstanceList: Issue.list(params), issueInstanceTotal: Issue.count()]
}
<g:sortableColumn property="assignedTo.lastName" title="${message(code: 'issue.assignedTo.label', default: 'Assigned To')}" />
def list = {
if (params.sort == 'assignedTo.lastName') {
println "doing special find/sort by: ${params.sort}"
return [issueInstanceList: Issue.findAllByAssignedToIsNullOrAssignedToIsNotNull(params), issueInstanceTotal: Issue.count()]
}
[issueInstanceList: Issue.list(params), issueInstanceTotal: Issue.count()]
}
最佳答案
您必须在用户表上强制左联接。这是使用条件查询进行操作的一种方法:
import org.hibernate.criterion.CriteriaSpecification
...
def list() {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
def criteriaParams = [:]
criteriaParams.putAll(params)
def sortParam = criteriaParams.remove('sort')
def orderParam = criteriaParams.remove('order')
def issueList = Issue.createCriteria().list(criteriaParams) {
createAlias('assignedTo', 'assignedTo', CriteriaSpecification.LEFT_JOIN)
if (sortParam) {
order(sortParam, orderParam)
}
}
[issueInstanceList: issueList, issueInstanceTotal: issueList.getTotalCount()]
}
params
方法一样,将
list()
传递到条件
list()
方法中会自动处理分页和排序。不过,我们的
createAlias
发生得太晚了,因此我们必须删除
sort
和
order
,然后在创建强制左连接的别名后手动重新应用它们。
关于grails - grails列表在g:sortableColumn中即使没有指定最大/偏移也不返回全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8068079/
我在遇到困难,而且我不明白这是怎么回事。 我认为这与我也使用的FilterPane插件有关,但是我不确定... 这是我list.gsp中的代码:
假设我有两个域对象,文档和作者 Class Document { Author author String title } Class Author { String last
我将数字作为字符串存储在我的数据库中,我想使用 Grails sortableColumns 对它们进行数字排序.有没有办法做到这一点? 最佳答案 将数字存储为格式化字符串会阻止它们利用 native
是否可以使用Grails的“g:sortableColumn”标签按域类“hasMany”的属性计数进行排序? class Book { hasMany = [authors: User]} 我想在
我正在为表使用 g:sortableColumn ,但出现此错误: Caused by UrlMappingException: Unable to create URL for mapping [/
假设我有一个问题域类,它有一个分配给的字段: String title String priority User assignedTo ... 我需要能够对signedTo 进行排序。
我是一名优秀的程序员,十分优秀!