Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Автоматическое создание формы с помощью json. (https://javascript.ru/forum/extjs/23563-avtomaticheskoe-sozdanie-formy-s-pomoshhyu-json.html)

Пак 28.11.2011 10:32

Автоматическое создание формы с помощью json.
 
Здравствуйте.

Начал изучать ExtJS и столкнулся со следующей проблемой.

Суть задачи: нужно построить систему отчетов. Для формирования каждого отчета нужны свои параметры. Отчетов много и для каждого писать свою форму задания параметров формирования муторно и неудобно. Поэтому возникла идея сделать следующее: при двойном щелчке на отчет с сервера поступает массив параметров в json-формате, и на основе этого массива автоматически строится форма. Перерыл уже кучу всего чего только можно, но ничего подходящего не нашел. Подскажите, существует ли вообще такая возможность и каким макаром ее можно реализовать.

nekto_O 28.11.2011 12:07

создаешь форму, биндишь на клик/даблклик ее открытие с передачей параметра (id отчета) и при открытии подгружаешь данные исходя из переданного ей параметра.

DreamTheater 28.11.2011 16:14

Месяц назад делал на ExtJS проект. С сервера приходил конфигурационный JSON, из которого динамически строилась форма с разными типами полей, причем разбитая на группы и категории, которые раскидывались по разным вкладкам. Так что могу с уверенностью сказать - это возможно :)

nekto_O 29.11.2011 07:41

Цитата:

Сообщение от DreamTheater
С сервера приходил конфигурационный JSON

жуть...это что получается каждый раз при попытке просмотреть/изменить данные с сервера приходит ответ с параметрами формы в json, причем зачастую они одинаковые...

Пак 29.11.2011 10:09

Да, именно так, в девяноста процентах случаев эти параметры формы одинаковые. =) Благодарю за ответы, пойду ковырять)

nekto_O 29.11.2011 11:25

я предлагаю 1 раз создать форму, а значения полей каждый раз будут подгружаться разные (в зависимости от id отчета) при открытии.
А то получается каждый раз форма будет создаваться))) это же не разумно))

Пак 01.12.2011 16:01

Вот один раз создать форму и нельзя, ибо поля должны подгружаться каждый раз свои)

Для примера:
Щелкнули два раза на отчет->ушло id='5' на сервер->вернулись поля "name" типа "textEdit" и "date" типа "date" в json`е->Поля построились на форме
Щелкнули два раза на другой отчет->ушло id='7' на сервер->вернулись поля "name" типа "textEdit", "fixdate" типа "date_interval" и "date" типа "date" в json`е->Поля другие, но вновь построились на форме.

То есть форма каждый раз разная. И вот с этим загвоздка, сообразить как будет выглядеть фнукция не могу((


Часовой пояс GMT +3, время: 18:01.