Как я могу создать повторяющиеся поля в Form Builder с Orbeon Forms 3.9? - PullRequest
4 голосов
/ 01 декабря 2011

Алекс, я не думаю, что объяснил себя достаточно хорошо (хотя предоставленная вами информация была полезной.) Допустим, у меня есть заявление о приеме на работу, которое было создано для сбора информации о лицах, ранее работавших в компании. Допустим, сетка для одного работодателя была 15 полей глубиной. Если бы я хотел, чтобы пользователь мог ввести до 10 прошлых работодателей, мне пришлось бы вручную создать 150 отдельных полей ... затем .... чтобы усложнить ситуацию, если бы я использовал правила проверки для своей формы Мне придется изменять свойства каждого элемента управления по одному. Итак, мой вопрос состоит из двух частей: во-первых, есть ли способ быстро скопировать целые сетки в конструкторе форм? Во-вторых, есть ли способ изменить правила видимости для всей сетки, а не щелкать правой кнопкой мыши каждый элемент управления по одному, чтобы добавить правила видимости (или изменить имена элементов управления в этом отношении).

1 Ответ

1 голос
/ 01 декабря 2011

Orbeon работает над добавлением поддержки Form Builder для создания пользовательского интерфейса, который XForms называет «повторениями».Благодаря поддержке повтора, встроенной в Form Builder, вы сможете создать только одну «строку», то есть поля для одного брата, и сказать, что эту строку можно повторить.Но так как это еще не доступно, вы можете обойти это, отредактировав источник, сгенерированный Form Builder, чтобы использовать повторы.Позвольте мне расширить эту идею:

Form Runner, среда выполнения, уже поддерживает повторы.Просто Построитель форм не позволяет вам их редактировать.Вы можете использовать повтор, редактируя код, сгенерированный Form Builder из Advanced / Edit Source.Вы можете увидеть, как выглядит повтор в примере Книжная полка , и посмотреть, как выглядит код в источнике примера Книжная полка (ищите <fr:repeat> на <fr:grid>).

В вашем случае, поскольку вы хотите ограничить число возможных братьев и сестер до 14, также добавьте атрибут maxOccurs="14" в <fr:repeat>.

...