親ショービューの子要素のg:paginationと g: sortableColumn を取得する簡単な解決策はありますか?
リスト内の現在のドメインのページネーションとソート可能な列を行う方法については、ドキュメントでよく説明されていますが、問題に記載されている状況では動作しません。
編集:例を更新しました
現在、機能していないのはページネーションだけです。次のページのリンクをクリックすると、リストがなくなり、${childrenistSize} が 0 を出力します。
簡単な例:
親ドメイン
class Parent {
String name
static hasMany = [children: Children]
static constraints = {
}
}
子ドメイン
class Children {
String first
int number
static belongsTo = [parent: Parent]
static constraints = {
}
}
親リスト ビュー
<g:each in="${parentList}" var="parent">
<tr>
<td>${parent.name}</td>
<td><g:link controller="parent" action="show" id="${parent.id}">Show</g:link></td>
</tr>
</g:each>
親ショー ビュー
<table>
<thead>
<tr>
<g:sortableColumn property="first" title="First"/>
<g:sortableColumn property="number" title="Number"/>
<tr>
</thead>
<tbody>
<g:each in="${childrenList}" var="child">
<tr>
<td>${child.first}</td>
<td>${child.number}</td>
</tr>
</g:each>
</tbody>
</table>
<g:paginate total="${childrenListSize}"/>
親コントローラー
class ParentController {
def index() { }
def list() {
[parentList: Parent.list()]
}
def show() {
params.max=3
def parentInstance = Parent.get(params.id)
def childrens = Children.createCriteria().list(params) {
eq('parent', parentInstance)
}
[parentInstance : parentInstance , childrenList: childrens, childrenListSize: childrens.totalCount]
}
}
一部の BootStrap テスト要素
Parent parent1 = new Parent(name: "TestParent1")
Parent parent2 = new Parent(name: "TestParent2")
Children child1 = new Children(first: "Bob", number: "1")
Children child2 = new Children(first: "John", number: "2")
Children child3 = new Children(first: "Igor", number: "3")
Children child4 = new Children(first: "Lucy", number: "4")
Children child5 = new Children(first: "Lisa", number: "5")
Children child6 = new Children(first: "Bob", number: "12")
Children child7 = new Children(first: "John", number: "24")
Children child8 = new Children(first: "Igor", number: "33")
Children child9 = new Children(first: "Lucy", number: "42")
parent1.addToChildren(child1).addToChildren(child2).addToChildren(child3).addToChildren(child4).addToChildren(child5)
parent2.addToChildren(child6).addToChildren(child7).addToChildren(child8).addToChildren(child9)
parent1.save()
child1.save()
child2.save()
child3.save()
child4.save()
child5.save()
parent2.save()
child6.save()
child7.save()
child8.save()
child9.save()