Привязки таблиц
Формат таблицы данных может также определять одну и более привязки. Привязки Таблицы данных похожи на формулы в электронных таблицах (таких как Microsoft Excel). Они определяют отношения между ячейками в таблице. Если изменяется значение в первой ячейке, то значение привязанной ячейки перерассчитывается.
Привязка данных указывает на ячейку в таблице данных т.е. цель привязки, и записывает в нее значение из выражения, которое может содержать ссылки на различные источники данных или ячейки таблицы. При изменении такого источника данных, происходит автоматическое вычисление привязки, и новое значение записывается в эту ячейку.
Создание привязок
В большинстве случаев привязки добавляются к формату таблицы путем программирования, т.е. при создании драйвера устройства или написании скрипта сервера. См. работа с таблицами данных для получения более подробной информации.
Однако в некоторых случаях привязки создаются системными операторами с использованием редактора таблицы данных. Эти привязки затем используются для изменения таблиц "на лету", без вмешательства оператора, т.е. во время выполнения автоматического действия.
Цель привязки
variable$field[row]#property
Все элементы цели привязки являются дополнительными, кроме field. Он указывает на поле в таблице, к которому следует применить изменения.
Если переменная задана, мы только что создали привязку перекрестной таблицы. В данной привязке значения, хранимые в одной Таблице данных, копируются в другую Таблицу данных. Такая привязка будет работать, только если значения обеих переменных были изменены во время выполнения одной GUI процедуры Редактировать свойства.
Если row
не задан, привязка будет применяться к каждому ряду в таблице.
Если property
не определено, результат оценки записывается в field
. Properties
используются для изменения поведения определенного поля во время его редактирования. Вы можете использовать их для условного включения/отключения поля, или для превращения поля в раскрывающийся список. Поддерживаемые свойства:
Свойство | Объяснение |
enabled | В данном случае выражение привязки должно иметь результат типа Boolean. Если данное значение является TRUE, будет включено редактирование ячейки, определяемой целью привязки, в противном случае, данная ячейка прейдет в режим "только чтение". |
hidden | Выражение привязки также должно иметь результат типа Boolean. Если значение является TRUE, поле таблицы, определенное целью привязки, будет скрыто во всех рядах, и его изменение будет невозможно. Имейте в виду, что невозможно скрыть одну ячейку (т.е. поле в определенном ряду). |
choices | Выражение привязки должно иметь результат типа Таблица данных, содержащий список Значений выборки, которые будут доступны для ячейки, на которую указывает цель привязки. |
options | Выражение привязки должно разрешаться в Строку, которая представляет новые опции редактирования для поля. |
Выражение привязки
Выражение привязки может содержать только стандартные ссылки. Если ссылка указывает на ячейку в редактируемой таблице, она разрешиться в значение, содержащееся в ячейке на данный момент (которая может быть изменена пользователем, или в неё может быть записано другое значение другой привязкой). Во всех других случаях значение будет взято из контекста сервера, как указано в разделе стандартные ссылки.
Среда вычисления привязок таблицы данных: | |
Может разниться, см. отдельные случаи обработки привязок Таблицы Данных для получения более подробной информации. | |
Текущая таблица, т.е. таблица, по которой оцениваются привязки. | |
Текущая строка, если привязка не относится к отдельной строке и оценивается для каждой строки таблицы отдельно. В другом случае приравнивается к нулю. | |
Могут разниться, см. отдельные случаи обработки привязок Таблицы Данных для получения более подробной информации. |
Пример
recipient#enabled = {mailSendingEnabled}
Во время обработки привязки, изменение поля адресата (возможно, e-mail адресата) возможно пользователем, только если поле "mailSendingEnabled" типа Boolean содержит значение TRUE (т.е. отправка e-mail сообщений включена).
Если Таблица данных содержит несколько записей, данная привязка будет применяться к каждой записи отдельно.