<select ... />

Поле ввода типа выбор из справочника, представленного набором чекбоксов или радиокнопками.


Атрибуты

Основные атрибуты (R/W):

Название Тип Описание
id id_name Уникальный, в рамках приложения, идентификатор объекта. Доступ к объекту с помощью AppScript выполняется через этот идентификатор.
Если id не задан, то интерпретатор автоматически заполнит его некоторым случайным в момент запуска приложения. В этом случае appxml-программист лишается возможности обращаться к объекту.
db-field string Имя поля в SQL-запросе. Окно ввода, в котором описан SQL-запрос и в составе которого описывается поле ввода свяжет поле из запроса и поле ввода. Если поле ввода размещается не в окне ввода, а в другом окне, то связь должен обеспечивать appxml-программист самостоятельно, работая напрямую с <query> и атрибутом db-field.

Визуальные атрибуты (R/W):

Название Тип Описание
order horizontal | vertical Порядок расположения чекбоксов. По умолчанию order=«horizontal»
lines number Кол-во рядов (горизонтальных (строки) или вертикальных (колонки) - зависит от order) для расположения пунктов выбора. По умолчанию lines=«1»
multi boolean Флаг управления представлением. Если true, значит выбор должен быть представлен чекбоксами. Если false, значит - радиокнопками. По умолчанию multi=«false»

Атрибуты ввода (R/W):

Название Тип Описание
init-value value Установка начального значения поля ввода. При записи в init-value флаг изменения changed сбрасывается в false. В дальнейшем, обращясь к атрибуту changed, можно определять изменял ли пользователь значение в поле ввода.
:!: Поддерживается «expr:»(Вычисление в expr выполняется при создании поля ввода. Актуально при редактировании в ячейках view.)
value value Установка значения поля ввода. Если в процессе работы программы требуется изменить значение поля ввода программным способом, то делать это следует через данный атрибут. :!: Не путать с init-value!
:!: Поддерживается «expr:»(Вычисление в expr выполняется при создании поля ввода. Актуально при редактировании в ячейках view.)
required boolean Атрибут контроля за обязательностью ввода значения в поле ввода. Если установлен, то при валидации значения (чтение значение атрибута valid) поле самостоятельно проверит заполненость и, в случае пустоты, выдаст соответствующее сообщение.
:!: Важно! При установке атрибута required, шрифт пользовательского текста изменится на жирный (bold). Это будет обращать внимание пользователя на важность поля ввода.
validate-fn string Атрибут для указания дополнительного программного кода, используемого для валидации значения поля ввода. При чтении значения атрибута valid указанный код будет вызван после внутренних проверок значения на валидность (например, если указан атрибут required). Правила написания кода валидации совпадают с правилами написания кода для событийных атрибутов. Код должен возвращать булевое значение true/false.
value-fn string Описывается код вычисления значения. Вычисленное значение автоматически записывается в атрибут value. Вычисление инициируется командным атрибутом value-refresh данного объекта.
Используется при возникновении зависимости значения данного поля ввода от значения другого поля ввода. При этом другое поле ввода после изменения своего значения (событие onChanged) должно вызвать атрибут value-refresh данного поля ввода. Значение value данного поля ввода пересчитается и обновится.
Код вычисления значения должен возвращать значение через return.
field-* visual-attrbutes Семейство визуальных атрибутов для управления внешним видом непосредственно поля ввода.
field-margin-* visual-attrbutes Семейство визуальных атрибутов для управления отступом значения от текста. :!: Работает только при text-position=«left\right».

Атрибуты текстовой метки (R/W):

Название Тип Описание
text string Пользовательский текст.
Текст может содержать символ переноса строки '\n', а также может быть представленным в HTML-формате.
Если текст содержит спецсимволы ('<', '&' и другие, с точки зрения XML), то следует вместо атрибута text использовать одноименный тэг <text>, вложенный в текущий. Текст следует записать следующим образом (на примере описания тэга <string>):
<string id="name">
    <text>
	<![CDATA[
	    <html><font color="blue">User name</html>
	]]>
    </text>
</string>
text-position position Положение пользовательского текста.
text-* visual-attrbutes Семейство визуальных атрибутов для управления внешним видом текстовой метки (пользовательским текстом).

Командные атрибуты (W/O):

Название Тип Описание
focus boolean Команда передачи фокуса ввода в поле ввода.
:!: Поддерживается «expr:»(Вычисление в expr выполняется при создании поля ввода. Актуально при редактировании в ячейках view.)
value-refresh boolean Командный атрибут пересчета значения value на основе кода, описанного в атрибуте value-fn. При обращении к данному атрибуту (value-refresh=«true») значение будет пересчитано и записано в атрибут value.
refresh boolean Командный атрибут для обновления содержимого поля ввода (т.е. для построения списка доступных элементов справочника заново).

Атрибуты только для чтения (R/O):

Название Тип Описание
last-value string Последнее выбранное значение (id).
last-value-text string Текст последнего выбранного значения.
last-unselected-value string Последнее снятое значение.
last-unselected-value-text string Текст последнего снятого значения.
changed boolean Возвращает флаг изменения значения в поле ввода. Значение может быть изменено как «вручную» (пользователем), так и программным способом (через атрибут value).
empty boolean Возвращает признак того, что поле пустое (т.е. «0», »» (пустая строка) или null)
null boolean Возвращает признак того, что поле содержит значение null (несмотря на то, что визуально там нормальное пустое значение)
valid boolean Возвращает флаг валидности (корректности) значения. Значение проверяется полем самстоятельно, на основании ранее установленных атрибутов (например, required) и полученного кода в vaildate-fn.

Прочие атрибуты (R/W):

Название Тип Описание
table-name string Описание дочерней таблицы, хранящей ссылки на выбранные значения из справочника.
parent-id-field string Имя поля в таблице, в которое будет продублировано значение id родительской записи.
reference-id-field string Имя поля в таблице, в которое будет записано id записи, выбранной из справочника.
ref-sql string Запрос для выборки данных из справочника. Является взаимоисключающим для ref-table-name. Имеет больший приоритет. Запрос должен содержать поля, указанные в ref-id-field и ref-name-field.
:!: Внимание! Поддерживается вложенный тэг с таким же именем (<ref-sql>) для указания запроса.
ref-table-name string Имя таблицы. На основании ref-table-name, ref-id-field, ref-name-field генерируется запрос.
ref-id-field string Имя поля в таблице, имеющее смысл id записи.
ref-name-field string Имя поля в таблице, содержащее текст, который будет показан пользователю.

Событийные атрибуты (R/W):

Название Тип Описание
onBeforeInit code Описание действий для события, возникающего перед установкой начального значения (атрибут init-value).
Правила описания см. (Описание событий в ApplicationXML).
onAfterInit code Описание действий для события, возникающего после установки начального значения (атрибут init-value).
Правила описания см. (Описание событий в ApplicationXML).
onChanged code Вызывается после каждого изменения пользователем поля ввода. При программном изменении значения (value) событие не генерируется.
Правила описания см. (Описание событий в ApplicationXML).
onEnter code Описание действий для события, возникающего при получении объектом фокуса.
Правила описания см. (Описание событий в ApplicationXML).
onExit code Описание действий для события, возникающего при потере объектом фокуса.
Правила описания см. (Описание событий в ApplicationXML).
onSelected code Описание действий для события, возникающего при выборе элемента из множества доступных (например, в выпадающем списке).
Правила описания см. (Описание событий в ApplicationXML).
Часто onSelected является синонимом для onAction.
onUnSelected code Описание действий для события, возникающего при смене выбора элемента из множества доступных (например, в выпадающем списке). При этом в java-метод передается ссылка на старый (бывший выбранным) узел.
Правила описания см. (Описание событий в ApplicationXML).

Атрибуты Selectitem

Основные атрибуты (R/W):

Название Тип Описание
text string Название элемента в списке, которое видит пользователь.
value string Внутреннее значение элемента в списке, невидимое для пользователя.
default boolean Флаг, устанавливающий значение по умолчанию. Одновременно может быть поднят только один флаг в группе элементов списка.

Описание

Использование данного поля ввода предполагается в двух вариантах:

а) одна родительская запись имеет связь (дочерняя таблица) со многими записями из справочника. Этот вариант использования полностью поддерживается окном ввода <edit>.

б) в окне ввода есть поля ввода, среди которых есть такое поле. По каждому выбору из справочника в этом поле необходимо сгенерировать набор SQL-запросов. Этот вариант подразумевает наличие java-метода (для генерации и выполнения запросов), указанного в edit.onSave.

Примеры

<select id="selectGoods"
           refresh-visible="true"
           lines="1" 
           order="vertical"
           multi="true"
           ref-id-field="id" 
           ref-name-field="name"
           height="150" 
           width="400" 
    >
    <ref-sql>
        <![CDATA[
           select id,
                  name
           from models               
           order by name
         ]]>
    </ref-sql>
    <onselected>
        msg('Это событие onselected.
        Value = ' + this.last-value + ', text = ' + this.last-value-text);
    </onselected>
    <onunselected>
        msg('Это событие onunselected!');    
    </onunselected> 
</select>
 
tags/inputfields/select.txt · Последние изменения: 29/10/2020 16:33 (внешнее изменение)
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS