submitToRemote
ボタンを使用して、update
タグを使用して現在の表の行を更新できます。例えば:あなたのindex.gsp
中:update
の属性値がindex.gsp
から<tr>
のと同じである
<td>${data.id}</td>
<td>${data.booleanValue}</td>
<td><g:submitToRemote action="updateAction" id="${data.id}" update="dataRow${data.id}" /></td>
注:何かのように、あなたの_tableRow.gspテンプレートがある
<table>
<g:each in="${yourDataList}" var="data">
<tr id="dataRow${data.id}">
<g:render template="tableRow" />
</tr>
</g:each>
</table>
。 あなたのコントローラはアクションupdateAction
があります
def updateAction = {
Data data = Data.get(params.id)
// your business logic
data.booleanValue = false;
data.save(flush: true);
render(template: "tableRow", model: [data: data]);
}
は他の可能性が明らかに存在するが、これはあなたのための選択肢かもしれません。
私はこれを理解していません。なぜあなたはビューでテンプレートをレンダリングしていますか?それはちょうどコントローラのアクションで行う必要がありますか?そして、div:youreの変更を定義するためだけのg:submitToRemoteタグの更新プロパティはありませんか? – drago
私はあなたの提案のさまざまな組み合わせを試してみましたが、うまくいきませんでした。私はビューを適切にレンダリングするように管理しましたが、ボタンは反応しませんでした。 – drago
申し訳ありませんが、おそらく私はあなたを理解しています。コードの部分だけが表示され、テーブルを作成する方法、ユーザーが各行でいくつかのアクションを実行する(タスクを受け入れるなど)、アクションに応じてページの何かが変更されます(この場合はテーブル行がリロードされます)サーバーからgspロジックがあなたの変更を処理したら、例えばボタンのテキストを変更します)。 – Chris