TXFAEventBinding

Модуль: HPDFXFAEventScript

Объявление

TXFAEventBinding= record
  Name, ClassName: AnsiString;
  ParentIndex: Integer;
  Value, Presence, Access: AnsiString;
  InstanceCount, InstanceGroup: Integer;
  MinInstances, MaxInstances: Integer;
  DefaultValue, DefaultPresence, DefaultAccess: AnsiString;
  Repeated: Boolean;
  Identity, ScriptSource, Locale, EventActivity: AnsiString;
  Domain: TXFAEventBindingDomain;
  DataIdentity: AnsiString;
  DataBindingEnabled: Boolean;
  Attributes, DefaultAttributes: TXFAEventAttributes;
  PropertyPath: AnsiString;
  PropertyOwnerIndex: Integer;
  XML, DefaultXML: AnsiString;
  DataBindingRef, DataContextIdentity: AnsiString;
  DataBindingExplicit: Boolean;
end;

Поведение

Описывает один виртуальный узел-хост события; каждое фактическое повторяющееся вхождение subform получает отдельную привязку и детей

ParentIndex выбирает родительскую привязку или -1 для корня; Value, Presence и Access описывают текущее состояние вхождения

InstanceGroup идентифицирует привязки, управляемые одним instance manager, а InstanceCount и лимиты вхождений описывают границы менеджера

Дефолты шаблона инициализируют новые экземпляры; Repeated помечает узлы с объявлением occur

TXFAWidgetRuntime строит эти записи из шаблона и текущего контекста datasets до выполнения движка

Identity — стабильная идентичность хоста для этого вхождения; ScriptSource содержит JavaScript для script object, объявленного внутри variables

Пустая Identity использует уникальную идентичность по индексу привязки; когда порядок привязок может меняться, задавайте стабильные явные идентичности, чтобы удерживаемые ссылки продолжали указывать на то же вхождение

Locale несёт необязательный атрибут locale узла как текст UTF-8; исполняемый узел наследует ближайшее непустое значение предка, а пустая цепочка выбирает locale пользователя

EventActivity подставляет xfa.event.name для исполняемой привязки; TXFAWidgetRuntime задаёт активности событий и имена контекстов calculate или validate, а пустые низкоуровневые привязки используют event

Domain различает узлы формы и нативные узлы datasets, dataGroup и dataValue; его дефолт xebdForm сохраняет поведение существующих вызывающих

DataIdentity ссылается на стабильную идентичность другой привязки, чтобы связать поле формы или subform с его узлом данных; чтение поля и значения данных тогда разделяют одно живое значение

DataBindingEnabled разрешает неявное создание узла данных, когда повторяющийся прототип формы не имеет существующей привязки данных; runtime-поля с bind match=none оставляют его False и не открывают синтетический узел данных

InstanceGroup в домене данных записывает одноимённое соседнее вхождение для нативной публикации виртуальных целей; привязки данных не открывают instance managers формы

Attributes содержит эффективные текущие атрибуты свойств; DefaultAttributes содержит атрибуты шаблона, используемые для нового клонированного узла свойств

Name в домене свойств сохраняет фактический атрибут name, обычно пустой; ClassName задаёт SOM-компонент, а родительские индексы сохраняют иерархию свойств и локальные соседние вхождения

PropertyPath и PropertyOwnerIndex идентифицируют свойство только формы, отсутствующее в шаблоне; путь использует компоненты вхождений классов, а индекс владельца выбирает нативное вхождение формы в том же массиве привязок

Runtime-привязки только для формы открывают текущие нативные атрибуты, а их DefaultAttributes используют дефолты схемы, поэтому клонирование повторяющегося прототипа создаёт дефолтные значения свойств, а не наследует переопределение другого экземпляра

Для существующих привязок объявленных свойств оставляйте PropertyPath пустым; связанный индекс владельца тогда не используется

Для exData XML — это текущий сериализованный элемент UTF-8, а DefaultXML поставляет содержимое шаблона для нового повторяющегося экземпляра

Привязка exData с пустым XML стартует с пустого нативного элемента exData; DefaultXML только для формы остаётся пустым, чтобы новое вхождение не наследовало импортированное чужое содержимое другого экземпляра

Входные строки XML участвуют в байтовом бюджете контекста события; saveXML и loadXML используют проверенный replay нативных ответов и публикуют через xeakLoadXML

XML в домене данных несёт ограниченные неглубокие нативные XML-метаданные рантайма: имя элемента, пространство имён, значение, атрибуты, объявления пространств имён, упорядоченное нетекстовое содержимое и позиции детей; DefaultXML для узлов данных не используется

Метаданные содержат один узел и его прямых детей-текст, комментарии и инструкции обработки, избегая дублирования поддерева потомков для каждой привязки данных

DataBindingRef — обрезанный селектор dataRef; DataBindingExplicit отличает явный пустой dataRef от неявной привязки по имени поля

DataContextIdentity идентифицирует фактическую нативную область данных поля независимо от DataIdentity, который идентифицирует выбранную им вершину

Эти поля позволяют импорту XML немедленно переоценить привязки по свежему Data DOM, включая новые доступные цели и выборы потомков, wildcard, классов и по индексу

Обычные приложения используют TXFAWidgetRuntime для построения нативных привязок; низкоуровневые вызывающие могут опускать XML-метаданные для скалярных узлов данных и оставлять новые поля привязок в дефолтных значениях

Связанные API

Интерактивный runtime виджетов динамического XFA, Функции FormCalc для строк, дат и финансов и XFA Packet DOM