Обновить несколько экземпляров объекта домена в Grails - PullRequest
2 голосов
/ 04 января 2012

возможно ли иметь таблицу в одной форме, которая показывает один экземпляр объекта домена следующим образом:

(таблица доменного класса "Персона")

Id     Name       LastName
1      John       Doe
2      Jane       Doe
3      Jerry      Doe

Каждая ячейка должна быть полем ввода

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

Если нажать кнопку отправки, все экземпляры персонажа будут обновлены.

У вас есть идея, как это реализовать?

1 Ответ

1 голос
/ 04 января 2012

Да, это возможно. Вам нужно будет создать форму с числом строк X для создания (или добавить кнопку, чтобы пользователь мог сделать больше строк). Для обновления у вас будет фиксированный номер (все записи в вашей базе данных). HTML-код будет выглядеть так:

<input type="text" readonly="readonly" value="1" name="id_0"/><input type="text" name="name_0"><input type="text" name="lastName_0"/>
<input type="text" readonly="readonly" value="2" name="id_1"/><input type="text" name="name_1"><input type="text" name="lastName_1"/>

Код gsp будет зависеть от того, что именно вы пытаетесь сделать. Но вы бы по сути зациклились на всех ваших объектах и ​​создали бы вышеупомянутую структуру для каждого.

В контроллере объект params будет выглядеть так:

[id_1:"2", name_0:"John", name_1:"Jane", lastName_1:"Doe", lastName_0:"Doe", id_0:"1"]

Я специально запутался в заказе, потому что вы не можете полагаться на заказ, поэтому вам придется сопоставлять имена с фамилиями на основе их номера. Таким образом, вы можете получить объект на основе идентификатора, обновить нужные свойства и сохранить его. Если вам нужна помощь с кодом gsp, предоставьте еще немного кода и подробностей, и я был бы рад помочь.

...