假設我有兩個域對象,文檔和作者Grails的sortableColumn具有多個字段
Class Document {
Author author
String title
}
Class Author {
String lastName
String firstName
String toString() {
return lastName + ", " + firstName
}
}
視圖的list.gsp看起來是這樣的:
<g:sortableColumn property="title" title=... />
<g:sortableCOlumn property="author" title=... />
....
<td>${fieldValue(bean: documentInstance, field: "author"}></td>
<td>${fieldValue(bean: documentInstance, field: "title"}></td>
顯示值在表中作爲工作打算 - 表格行將在documentInstance.title旁邊顯示作者(lastName,firstName)。
但是,單擊作者列標題進行排序會導致「文檔」按author.id進行排序。
什麼是通過author.toString()或「author.lastName,author.firstName」排序而不是通過author.id排序的最方便的方式?
我寧願避免回落到.withCriteria {}如果可能的話 - 我有四個不同的列需要這個功能,看起來這會變得混亂。
我結束了使用withCriteria ...我打算把這個標記爲答案,因爲它似乎是「按問題」這個問題的最乾淨的解決方案。謝謝! – MT1 2012-04-30 21:41:45