私はgrailsに新しいビーです。私は次の質問をしています。Controller内のInstanceList全体をバインド/更新する方法は?
問題ドメイン:
親ドメインクラスブール 過渡特性を持つ "はisValid"。
子ドメインには、ブール値のプロパティ "isValid"があります。
親/ list.gspユーザーが私 は、さらに、各親 子供のプロパティを設定するために使用することができますParentControllerで更新 機能、上、ParentInstanceListに親インスタンス の IsValidプロパティを変更できるようにする「のisValid」。
親ドメインクラス
class Parent {
String name
boolean isValid = false
static hasMany = [children:Child]
static transients =['isValid']
}
子ドメインクラス
class Child {
String name
boolean isValid
Parent parent
static belongsTo = [parent:Parent]
}
親/ list.gsp
<g:form method="post" action="update" >
<div class="list">
<table>
<thead>
<tr>
<g:sortableColumn property="id" title="${message(code: 'parent.id.label', default: 'Id')}" />
<g:sortableColumn property="name" title="${message(code: 'parent.name.label', default: 'Name')}" />
<g:sortableColumn property="isValid" title="${message(code: 'parent.isvalid.label', default: 'isValid?')}" />
</tr>
</thead>
<tbody>
<g:hiddenField name="parentInstanceList" value="${parentInstanceList }"/>
<g:each in="${parentInstanceList}" status="i" var="parentInstance">
<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
<td><g:link action="show" id="${parentInstance.id}">${fieldValue(bean: parentInstance, field: "id")}</g:link></td>
<td>${fieldValue(bean: parentInstance, field: "name")}</td>
<td>
<g:checkBox name="isValid" value="${parentInstance?.isValid }"/>
</td>
</tr>
</g:each>
</tbody>
</table>
</div>
<div class="paginateButtons">
<g:paginate total="${parentInstanceTotal}" />
</div>
<div class="buttons">
<span class="button">
<g:actionSubmit class="update" action="update" value="${message(code: 'default.button.update.label', default: 'update')}" />
</span>
</div>
親/ list.gspのスナップショット:http://img156.imageshack.us/i/parentlistview.png/
問合せ:私は/ parentInstanceのプロパティ「のisValid」にチェックされていない、私は簡単に親の子プロパティを設定することができ未確認追跡することができますどのように 「のisValid "
def parentInstanceList = params.parentInstanceList
parentInstanceList.each {
Parent parent = it
parent.children.each{
Child child = it
child.isValid=parent.isValid
}
}
は、これまでのところ私はparams.parentInstanceList以上のすべての親のIDを取得することですが、私は、私は、各parentInstanceの変更されたプロパティをバインドすることができますどのようにそれを把握することはできません。 単一parentInstanceがある場合は、1つは簡単に事前に
Parent parentInstance = Parent.get(params.id)
parentInstance.properties = params
おかげ
レーマン