Макеты FileMaker являются статическими, но есть некоторые вещи, которые вы можете сделать, чтобы изменить макет на основе значений полей:
Поля расчета
Если вы хотите, чтобы данные, отображаемые в области, изменились, вы можете использовать поле «Расчет». Типичным примером этого может быть поле состояния. Для этого вы должны добавить новое поле в вашу таблицу и использовать ввод вычисления для этого поля, например:
Case (
IsEmpty(myTable::myField) ; "Please enter a value for myField." ;
myTable::myField = "wrong value" ; "Please enter a correct value for myField." ;
"Everything seems okay."
)
Условное форматирование
Чтобы изменить цвет фона, вы можете использовать условно отформатированное поле. Обычно я добавляю пустое числовое поле (для этого примера мы назовем его emptyField) и задаю его так, чтобы оно не могло быть отредактировано во время модификации.
Если вы разместите emptyField на макете под всеми остальными полями и не разрешите пользователю вводить поле в режиме просмотра или поиска, вы можете использовать условное форматирование для изменения цвета поля.
Портал скрывается
Вы можете использовать эту технику, когда хотите, чтобы некоторые элементы вашего интерфейса исчезли, когда они не нужны. Например, если вы хотите, чтобы кнопка «Отправить» появлялась только тогда, когда все записи в поле заполнены.
Чтобы использовать эту технику, я обычно создаю поле «Вычисляемое число» под названием ReadyForSubmit в исходной таблице и даю ему логическое вычисление, например:
not IsEmpty(field1) and ... and not IsEmpty(fieldN)
(обратите внимание, что значение вышеупомянутой функции будет 1 или 0)
Затем я создам новую таблицу поддержки в моей базе данных и добавлю к ней поле One с расчетным значением, равным 1.
Затем я установлю связь между myTable :: readyForSubmit и Support :: One.
На макете создайте портал с одной строкой. Поместите кнопку «Отправить» в этот макет. Теперь, когда readyForSubmit рассчитывает на 1, появится кнопка. Когда он вычисляется до 0, кнопка будет скрыта.
Браузер скрытых вкладок
Наконец, вы можете использовать браузер с вкладками, где вы устанавливаете размер шрифта заголовка в 1 пункт, скрываете границу и программно управляете браузером. Вы можете использовать это для того, чтобы иметь различные полевые схемы для разных типов записей. Для этого вы должны сначала присвоить имя объекта каждой вкладке браузера вкладок, например, Tab1, Tab2, Tab3.
Затем вы бы добавили скрипт goToTab с логикой, когда вы хотите перейти на каждую вкладку. Скажи:
If (myTable::myField = "corn")
Go to Object (Tab1)
Else If (myTable::myField = "squash")
Go To Object (Tab2)
End If
Затем вы используете триггеры сценариев для запуска goToTab при загрузке записи.