Как реализовать адаптивную таблицу в Grails? - PullRequest
0 голосов
/ 08 ноября 2011

Как реализовать ячейку таблицы в Grails, которая будет иметь кнопку, и нажатие на нее изменит данные в ячейке той же строки?Допустим, таблица имеет только поля id, assignment, accept (yes, no).По умолчанию принимается значение no, и при нажатии кнопки «Принять» оно меняется на «да».

Следует ли мне использовать таблицу данных пользовательского интерфейса Grails или jQuery Grid?

1 Ответ

1 голос
/ 08 ноября 2011

Вы можете использовать кнопку 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]);
}

Очевидно, есть другие возможности, но это может быть вариант для вас.

...