Цель:Изучить возможности создания многотабличных форм, использование стандартного компонента табличного представления и редактирования данных Grid.
Система VFP предоставляет разработчику два способа создания экранных форм, ориентированных на одновременный просмотр и редактирование данных из нескольких таблиц. Зачастую это единственный подход, позволяющий наглядно представить логически связанные данные, хранимые в разных таблицах, конечному пользователю. Наиболее простым способом является использование мастера построения многотабличных форм.
Для запуска мастера достаточно в менеджере проекта во вкладке Documents выбрать элемент Forms и нажать кнопку New. Система выведет запрос о необходимости использования конструктора или мастера построения форм (рис. 1).
Рис. 1 Окно запроса способа создания экранной формы
Для запуска мастера достаточно нажать кнопку Form Wizard, после чего появится запрос типа создаваемой формы (рис. 2).
Рис.2 Окно выбора типа мастера создания экранных форм
В появившемся окне необходимо выбрать строку One-to-Many Form Wizard, и нажать кнопку OK, после чего и будет запущен мастер создания многотабличных форм.
Работа мастера состоит из шести последовательных этапов. На первом этапе необходимо указать родительскую таблицу, используемую на создаваемой форме, а также поля из этой таблицы, которые будут присутствовать на экране (рис. 3). Допускается выбирать не все поля таблицы, но поля, входящие в первичный ключ должны присутствовать обязательно. Следует также помнить о том, что не выбранные поля в дальнейшем для редактирования на самой форме будут недоступны. После выбора необходимых полей станут активными кнопки Back, Next и Finish, которые позволяют перейти к предыдущему, следующему шагу и закончить работу мастера соответственно.
Рис. 3 Окно выбора родительской таблицы
Для перехода ко второму этапу следует нажать кнопку Next, в результате чего появится окно запроса дочерней таблицы (рис. 4). Во избежание ошибок из списка доступных таблиц базы данных исключается таблица, уже выбранная в качестве родительской. Как и на предыдущем шаге, система предлагает выбрать также необходимые поля, но следует помнить, что поля, входящие в состав внешнего ключа должны присутствовать обязательно.
Рис. 4 Окно выбора дочерней таблицы
Переход к третьему этапу осуществляется нажатием кнопки Next. На этом этапе разработчику предоставляется возможность определения связи данных (рис. 5). Тип связи по определению устанавливается Один-ко-Многим и изменить его нельзя. Однако допускается установка связей, не прописанных в конструкторе базы данных. Выбор полей для связи осуществляется при помощи ниспадающих списков, в левом отображаются поля родительской таблицы, а в правом – индексные выражения и поля дочерней. Следует внимательно следить за совпадением типов полей в связи, в случае несовпадения которых система даст заведомо неправильный результат.
Рис. 5 Окно определения связи между таблицами
Примечание: Не забывайте, что связь устанавливается не по названиям полей, а по фактически хранимым данным. Т.е. система вполне допускает установку логически неправильных связей, например, между кодом заказа и кодом товара.
На четвертом шаге разработчик имеет возможность выбора стиля создаваемой формы (рис. 6). Образец экранного исполнения можно увидеть тут же, в левой верхней части окна. Так же можно выбрать набор кнопок навигации и управления, к которому автоматически привязывается программный код. Набор кнопок создается на основе класса, определенного в библиотеке классов. По умолчанию, при создании проекта, система автоматически генерирует два класса, основанных на текстовых и графических кнопках.
Рис.6 Окно выбора стиля создаваемой формы
В случае выбора опции No buttons, будет создана форма, вообще не содержащая элементов управления. Соответственно, в этом случае, их создание возлагается целиком на разработчика.
После выбора стиля формы и типа набора кнопок, можно перейти к пятому шагу, на котором указывается сортировка данных на создаваемой форме (рис.7). Сортировка допускается только по полям или индексным выражениям родительской таблицы, которые отображаются в левой части окна. Разработчик может указать несколько вложенных условий сортировки. Иерархия сортировки определяется порядком добавления полей/индексных выражений, вначале сортируется по первому указанному полю, внутри этой сортировки по второму и т.д.
Рис. 7 Окно определения сортировки данных
Добавление/удаление выбранных полей осуществляется кнопками Add/Remove соответственно. Кроме этого, при помощи переключателей Ascending/Descending, можно указывать направление сортировки, по возрастанию или по убыванию. Однако для всех выбранных полей направление сортировки может быть только одним, т.е. нельзя указать для первого поля сортировку по возрастанию, а для второго – по убыванию.
После указания условий сортировки данных можно перейти к последнему, шестому шагу создания многотабличной формы (рис. 8). В появившемся окне разработчик может указать заголовок формы. Под заголовком в данном случае понимается простая текстовая надпись, расположенная в верхней части создаваемой формы. При помощи набора переключателей разработчик может выбрать тип действий после завершения работы мастера: сохранить форму для дальнейшего использования; сохранить и немедленно запустить; сохранить и открыть в конструкторе для редактирования. Перед сохранением возможно просмотреть внешний вид полученной формы при помощи кнопки Preview.
Расположенные тут же два опциональных компонента Use field mappings и Override with DBC field display classes рекомендуется использовать с великой осторожностью, т.к. они отвечают за использование карт полей и применение к экранным элементам ввода классов, определенных в контейнере базы данных, и описанных в библиотеке классов проекта.
За исключением первого шага, разработчик может произвольно переходить между шагами мастера при помощи ниспадающего списка, расположенного в верхней части окон мастера построения. Однако, следует помнить, что изменения, произведенные на любом шаге могут повлиять на все последующие. Поэтому, если при использовании мастера произошло нелинейное обратное переключение шагов, рекомендуется пройти все следующие шаги в прямом направлении.
Рис. 8 Окно завершающего шага мастера построения многотабличных форм
Дата добавления: 2015-10-29; просмотров: 655;