Разработка проектов в системе FileMaker Pro
Часть 3. Работа в режиме Layout Mode (продолжение)
[ 28 июня, 2007 г ]Автор: А. Перла

Мы продолжаем цикл статей посвященных работе в системе FileMaker. В этой статье мы продолжим изучать формирование и редактирование Layout. Наиболее важной частью этого процесса является задание свойств отображения полей в создаваемой базе данных.

Field/Control Setup

Двойной щелчок мыши на редактируемом поле вызовет диалог Field/Control Setup. Этот диалог можно также вызвать из меню Format - Field/Control - Setup, либо с помощью сочетания клавиш Opton - Command - F.

В этом диалоговом окне задается, каким образом выбранное поле будет отображаться в текущем Layout. В терминах FileMaker это называется Contol Style (стиль управления). Поскольку в данном диалоге возможно переопределение связи редактируемого объекта с другим полем базы данных, то во избежание путаницы будем называть такой объект (поле) управляющим элементом, или просто элементом. И прежде, чем перейти к описанию различных стилей представления полей (элементов), обратим внимание на некоторые дополнительные параметры диалогового окна Field/Control Setup.

Display data from: В выпадающем меню и представленном ниже списке имеется возможность переопределить связь редактируемого элемента с другим полем базы данных. Выпадающий список отображает все существующие в базе таблицы, а представленный ниже список - все поля выбранной таблицы.

Здесь следует напомнить, что каждый Layout обязательно привязан к какой-либо таблице, и попытка "в лоб" связать элемент с полем из другой таблицы, приведет к тому, что данные этого поля не будут отображаться. Это связано с тем, что в режиме отображения (Browse Mode) каждый элемент Layout отображает данные конкретного поля, текущей записи таблицы. В случае же связи элемента с полем из другой таблицы FileMaker не будет знать, какая именно запись имеется в виду, и соответственно, ничего не отобразит. Чтобы обойти это ограничение в FileMaker, используется специальный механизм связей между таблицами в базе и даже в разных файлах - Relationships, который будет рассмотрен отдельно в следующих статьях.

Create label. При установке этого значения, при закрытии окна Field/Control Setup автоматически будет создана подпись к текущему элементу слева от него с именем поля базы данных, к которому он относится.

Всего FileMaker предлагает шесть стилей отображения элементов на Layout, которые можно выбрать из выпадающего меню Control Style - Display as:

Edit Box. Стандартный (установленный по умолчанию для вновь созданных элементов) и самый простой способ отображения элемента. По сути это просто поле для ввода текста или цифр. Может использоваться для ввода как одной, так и нескольких строк текста. Размер самого элемента задается с помощью панели Size. В случае, если набранный текст не умещается в размере поля, происходит его прокрутка. Выбор значения Include vertical scroll bar устанавливает вертикальную полосу прокрутки. Рекомендуется включать эту опцию, если предполагается, что в данное поле будет выводится больше чем одна строка теста.

Drop-down list. Выпадающий список. В FileMaker есть замечательная особенность: легко и быстро организовать ввод данных из некоторого списка значений. Например, при вводе данных о сотрудниках можно предварительно создать список существующих в фирме должностей, а потом выбирать необходимую одним щелчком мыши. В терминологии FileMaker такой список значений называется Value List. Для указания, откуда FileMaker должен брать список значений для данного элемента, требуется указать его в выпадающем меню Display values from. Различных Value List (дальше списки значений) может быть определено в FileMaker сколь угодно много. Они могут быть предварительно созданы с помощью специального диалога, вызванного из меню File - Define - Value list или прямо из окна Field/Control Setup - выпадающий список Display values from - пункт Define Value list.

Списки значений можно создовать тремя способами. Самый простой - ручной ввод значений (Use custom values). В этом случае необходимые значения просто вводятся в столбик в соответствующем окне как показано на рисунке. Более сложный способ использовать в качестве списка значений значения какого либо поля базы. При этом можно использовать как поле текущей таблицы, так и поле другой таблицы в файле. Поясним на примере: список существующих в фирме должностей можно просто занести в окно Use custom values, но можно создать отдельную таблицу, где каждая запись будет описывать детальную информацию о каждой должности: оклад, трудовые обязанности, требуемое количество в штате и т.п. Тогда выбор должности при вводе информации о сотруднике, будет автоматически связывать его со всей сопутствующей информацией.

С другой стороны редактирование таблицы должностей будет автоматически приводить к изменению выпадающего списка значений. Третий способ создать список значений - использовать существующий список значений из другого файла базы данных (Use value list from another file). Однако при этом между этими файлами должна быть предварительно установлена связь, которая устанавливается при помощи Define File References.

Списки значений являются потенциально очень мощным инструментом и позволяют интерактивно работать с базой данных.

Помимо описанного в стиле элемента Drop-down list, можно редактировать еще два параметра. Include arrow to show and hide list отображает значок стрелки для открытия и закрытия выпадающего списка. Include "Edit..." item to allow editing of value list добавляет пункт "Edit..." в список значений. При его выборе пользователь может редактировать список значений непосредственно во время работы с базой.

Pop-up Menu. Выпадающее меню. Этот стиль аналогичен описанному выше Drop-down List, но есть и некоторые различия. Значения выпадающего меню так же берутся из заранее указанного списка значений, но сам элемент имеет несколько иной вид чем в стиле Drop-down List (см. рисунок):

Помимо опиции Include "Edit..." item to allow editing of value list, добавляющей пункт "Edit...", есть возможность включить опицию Include "Other..." item to allow entry of other values. Эта опция добавляет пункт "Other..." в список значений выпадающего меню. Выбор этого пункта пользователем при работе с базой, позволяет ввести иное значение от предложенного списком. При этом сам список останется не измененным.

Сheckbox Set. Проведя полчаса времени в поисковых системах русского интернета, я так и не нашел внятного перевода ни термина Checkbox, ни термина Radio Button. Поэтому придется ограничится английским терминами. Говоря простым языком Сheckbox - это те "флажки" или "галочки", который пользователь обычно выставляет, делая те или иные настройки.

Они указывают, включить или выключить тот или иной параметр. В FileMaker также существует возможность создавать подобный ввод данных. Как и в предыдущих случаях, Сheckbox должен соответствовать какому либо, предварительно созданному, Value List. Наиболее характерным примером применения Checkbox было бы использование его в качестве ввода двоичного выбора.

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

Выбор Checkbox (установка "галочки") приводит к тому, что FileMaker присваивает данному полю значение, указанное разработчиком базы в Value List. Это может быть любое значение: число либо текст. Например, разработчик для подобных целей может создать Value List с названием, скажем Boolean, где будет всего одно значение - 1. В случае выбора Сheckbox пользователем, полю будет присвоено значение 1, а в случае отмены выбора поле останется пустым.

Radio Button. В отличие от Checkbox, Radio Button применяется, когда нужно выбрать из нескольких (не меньше двух) противоположных друг другу значений. Самым характерным примером будет выбор пола сотрудника (мужской, женский). Для реализации Radio Button разработчик базы также, как и в прошлых случаях, должен создать соответствующий Value List. Для выбора пола например Value List должен состоять из двух значений "муж" и "жен". Примеры использования Checkbox и Radio Button приведены на рисунке ниже.

Здесь следует обратить внимание, что в обоих случаях пользователь видит, какое именно значение присваивается полю базы. При желании это можно скрыть, изменяя размер элемента таким образом, чтобы присваиваемое значение было не видно. Например, поле определяющее пол сотрудника, можно сделать числовым и присваивать 1 если пол мужской и 0 если женский.

Такой подход может сэкономить размер файла базы данных. А необходимые подписи реализовать как обычный текст на Layout рядом с данным элементом.

Справедливости ради надо отметить, что не только Radio Button, но и Сheckbox можно связать со списком имеющем несколько значений. В этом случае выбор пользователем нескольких значений, приведет к тому, что в данное поле будут последовательно записаны все выбранные значения. Хотя такая возможность и существует, с ней надо быть весьма осторожным, так как это может значительно усложнить обработку подобных полей базы, например при поиске.

И в Radio Button и в Checkbox можно также добавлять пункт "Other". При выборе этого пункта пользователю будет предложено самостоятельно ввести отличное от предложенных значений.

Drop-down Calendar. Это реализация выпадающего календаря для удобного ввода значения какой-либо даты. Как это выглядит - показано на рисунке ниже. Желательно, чтобы поле базы, в которое осуществляется ввод, будет иметь формат даты. Единственной опцией Drop-down Calendar является опция Include icon to show and hide calendar, которая приводит к появлению у элемента специального квадратика (иконка, пиктограмма) для вызова выпадающего календаря. Если отменить это опцию, то вызов календаря будет осуществляться кликом мышки на любую часть элемента.

Формат представления полей

Выше мы описали, как с помощью диалога Field/Control - Setup сделать ввод значений в поля базы данных более наглядным и простым. Кроме описанного, FileMaker позволяет форматировать элементы Layout, поля, комментарии и т.п для еще большей наглядности. Можно изменять, например, шрифт, его размер, цвет, выравнивание текста и тому подобное. Для реализации этого служит меню Format либо некоторые кнопки на панелях управления (toolbars). Все вносимые изменения будут относится только к редактируемому Layout, а не к самим значениям полей. Это означает, что если задать на одном Layout отображение текста в поле красным цветом, то красным этот текст будет отображаться только на этом, конкретном, Layout.

Для доступа ко всем свойствам текста можно воспользоваться диалогом Format - Text, показанном на рисунке. Помимо изменения шрифта, размера и т.д., Format - Text позволяет вызвать диалог Paragraph для форматирования свойств абзаца (выравнивание, отступы, расстояние между строчками), а оттуда - диалог редактирования параметров знаков табуляции.

Поля, имеющие тип Date, можно форматировать с помощью диалога Date Format. Он позволяет указать, каким образом будет отображаться значение даты в текущем поле на данном Layout, и предоставляет для этого очень широкие возможности. Помимо выбора из различных типов представления даты из выпадающего меню Format as (см рисунок), разработчик может сам вручную (Custom) задать нужное ему представление, изменяя порядок отображения числа, месяца и года, разделителей между ними и т.п.

Аналогично полям для ввода даты для численных полей и полей, типа Time, в FileMaker существуют отдельные диалоги Number Format и Format Time. Не будем описывать каждую функцию этих диалогов - они достаточно очевидны. Приведем лишь сами скриншоты.

Вставка специальных символов

FileMaker позволяет вставлять в Layouts различные специальные символы для увеличения наглядности или для каких-то иных целей, связанных с удобством работы с базой данных. Для вставки служат команды из меню Insert:

Insert - Curent Date. Вставляет текст, содержащий текущую дату. Вставленный объект является обычным текстом, он может быть изменен или отредактирован. По сути, данная команда упрощает набор текста при оформлении Layout

Insert - Curent Time. Аналогично предыдущей команде вставляет текст, содержащий текущее время.

Insert - Curent User Name. Аналогично предыдущим вставляет текст, содержащий текущее имя пользователя.

Insert - Data Symbol. В отличии от предыдущих, команда вставляет специальный символ (два наклонных слэша), который при работе с базой отображается как текущая на данный момент дата. То есть, интерактивно изменяется FileMaker каждый раз при обращении к Layout в режиме Browse Mode.

Insert - Time Symbol. Аналогично Data Symbol вставляет символ текущего времени. К сожалению нельзя рассматривать этот символ, как простейшую реализацию часов, так как значения символа высчитывается, а значит будет меняться только при очередном открытии Layout.

Insert - User Symbol. При работе с базой этот символ высчитывает и показывает имя текущего пользователя.

Insert - Page Number Symbol. Вставляет символ номера страницы. Используется для нумерации страниц при распечатке Layout.

Insert - Record Number Symbol. Вставляет символ номера текущей записи.

На этой статье мы пока отложим изучение редактирования Layout. В следующих статьях мы перейдем к самой захватывающей части FileMaker - изучению языка FileMaker Script, который позволяет сделать из базы полноценную интерактивную программу.


Источники: МакЦентр

Комментарии, обсуждение