Вы можете использовать кнопку submitToRemote
и обновить строку текущей таблицы, используя тег update
. Например: в вашем index.gsp
:
<table>
<g:each in="${yourDataList}" var="data">
<tr id="dataRow${data.id}">
<g:render template="tableRow" />
</tr>
</g:each>
</table>
Где ваш _tableRow.gsp шаблон выглядит примерно так:
<td>${data.id}</td>
<td>${data.booleanValue}</td>
<td><g:submitToRemote action="updateAction" id="${data.id}" update="dataRow${data.id}" /></td>
Обратите внимание, что значение атрибута update
такое же, как у <tr>
из index.gsp
.
У вашего контроллера есть действие 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]);
}
Очевидно, есть другие возможности, но это может быть вариант для вас.