Визуальные компоненты: различия между версиями
Wiki (обсуждение | вклад) |
Wiki (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
== Контейнер объектов (container) == | |||
Предназначен для задания единого способа отображения визуальных компонентов и позволяющий инкапсулировать в себе объекты других типов. | Предназначен для задания единого способа отображения визуальных компонентов и позволяющий инкапсулировать в себе объекты других типов. | ||
[[Файл:Контейнер объектов.png|без|обрамить]] | [[Файл:Контейнер объектов.png|без|обрамить]] | ||
Строка 52: | Строка 50: | ||
|} | |} | ||
== Вкладки (tabsheet) == | |||
Вкладка — это визуальный элемент, который позволяет создавать множество вкладок, для размещения на них визуальных элементов. | Вкладка — это визуальный элемент, который позволяет создавать множество вкладок, для размещения на них визуальных элементов. | ||
[[Файл:Вкладка.png|без|обрамить]] | [[Файл:Вкладка.png|без|обрамить]] | ||
Строка 130: | Строка 128: | ||
|} | |} | ||
== Панель кнопок (toolbar) == | |||
Панель кнопок - визуальный элемент, который позволяет разместить в себе группу кнопок. | Панель кнопок - визуальный элемент, который позволяет разместить в себе группу кнопок. | ||
[[Файл:Панель кнопок.png|без|обрамить]] | [[Файл:Панель кнопок.png|без|обрамить]] | ||
Строка 152: | Строка 150: | ||
|} | |} | ||
== Кнопка (button) == | |||
Позволяет добавить на панель кнопку, которую в последствие можно привязать к какомулибо действию, созданному в правилах заполнения (к примеру Апп-функция). | Позволяет добавить на панель кнопку, которую в последствие можно привязать к какомулибо действию, созданному в правилах заполнения (к примеру Апп-функция). | ||
[[Файл:Кнопка.png|без|обрамить]] | [[Файл:Кнопка.png|без|обрамить]] | ||
Строка 190: | Строка 188: | ||
|} | |} | ||
== Текст/подпись (label) == | |||
[[Файл:Текст-Подпись .png|без|обрамить]] | [[Файл:Текст-Подпись .png|без|обрамить]] | ||
'''Свойства''' | '''Свойства''' | ||
Строка 211: | Строка 209: | ||
|} | |} | ||
== Таблица (grid) == | |||
Компонент для отображения табличных данных. | Компонент для отображения табличных данных. | ||
[[Файл:Таблица.png|без|обрамить]] | [[Файл:Таблица.png|без|обрамить]] | ||
Строка 449: | Строка 447: | ||
| colspan="1" |Текст в шапке листа Excel при экспорте. | | colspan="1" |Текст в шапке листа Excel при экспорте. | ||
|} | |} | ||
'''Обработчики событий''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|'''Название атрибута''' | |'''Название атрибута''' | ||
Строка 487: | Строка 484: | ||
|} | |} | ||
== Группа колонок грида (colgroup) == | |||
Объединяет несколько пордяд идущих колонок в одну визуальную группу | Объединяет несколько пордяд идущих колонок в одну визуальную группу | ||
[[Файл:Группа колонок.png|без|обрамить]] | [[Файл:Группа колонок.png|без|обрамить]] | ||
Строка 509: | Строка 506: | ||
|} | |} | ||
== Колонка (column) == | |||
Описывает визуальное представление колонки грида и связывает колонку с курсором данных. | Описывает визуальное представление колонки грида и связывает колонку с курсором данных. | ||
[[Файл:Колонка.png|без|обрамить]] | [[Файл:Колонка.png|без|обрамить]] | ||
Строка 788: | Строка 785: | ||
|} | |} | ||
== Числовое поле (edit) == | |||
Компонент для ввода числовых данных (numedit). | Компонент для ввода числовых данных (numedit). | ||
[[Файл:Числовое поле.png|без|обрамить]] | [[Файл:Числовое поле.png|без|обрамить]] | ||
Строка 853: | Строка 850: | ||
|} | |} | ||
== Текстовое поле ввода (numedit) == | |||
Компонент для ввода текстовых данных (edit). | Компонент для ввода текстовых данных (edit). | ||
[[Файл:Текстовое поле.png|без|обрамить]] | [[Файл:Текстовое поле.png|без|обрамить]] |
Версия 13:46, 15 июля 2022
Контейнер объектов (container)
Предназначен для задания единого способа отображения визуальных компонентов и позволяющий инкапсулировать в себе объекты других типов.
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание |
direction | перечислимый | нет | vertical | нет | да | Определяет способ расположения дочерний элементов
|
cssstylecontent | строка | нет | нет | да | CSS Стиль блока с содержимым для контейнера | |
ratio | число | нет | 1 | нет | нет | Определяет пропорции ширины или высоты для контейнера |
readonly | строка | нет | 0|false | да | да | Значение данного свойства обратно значению свойства enabled. Присвоение значения свойству readonly не имеет действия. Возможные значения "1"|"true" или "0"|"false" (независимы от регистра).
Примечание: если при обращении к этому атрибуту его значение в строковом виде равно "1" или "true", то оно принимается за true, в случае любых других значений включая пустую строку или NULL оно принимается за false. |
Вкладки (tabsheet)
Вкладка — это визуальный элемент, который позволяет создавать множество вкладок, для размещения на них визуальных элементов.
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание |
activeTabCaption | строка | только для чтения | нет | да | Название активной вкладки. Если ни одна из вкладок не активна, то значение атрибута равно пустой строке. | |
activeTabPosition | число | только для чтения | нет | да | Позиция активной вкладки. Нумерация вкладок начинается с единицы. Если ни одна из вкладок не активна, то значение атрибута равно нулю. | |
activeTab | строка | да | да | Название активной вкладки. Если название задано, при загрузке режима вкладка с этим названием становится активной | ||
direction | строка | horizontal | нет | да | Направление отображения вкладок (vertical - вкладки слева, контент - справа | horizontal - вкладки сверху, контент снизу) | |
cssstylecaption | строка | нет | да | Имя CSS стиля вкладки | ||
cssstyleactive | строка | нет | да | Имя CSS стиля активной вкладки | ||
enableCollapse | булеан | false | нет | да | Возможность сворачивания (только для вкладок с направлением отображения "vertical") | |
collapsed | число | 0 | нет | да | Положение по умолчанию (свернуты - 1, развернуты - 0) |
Панель кнопок (toolbar)
Панель кнопок - визуальный элемент, который позволяет разместить в себе группу кнопок.
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание |
readonly | строка | 0|false | да | да | Значение данного свойства обратно значению свойства enabled. Присвоение значения свойству readonly не имеет действия. Возможные значения "1"|"true" или "0"|"false" (независимы от регистра). |
Кнопка (button)
Позволяет добавить на панель кнопку, которую в последствие можно привязать к какомулибо действию, созданному в правилах заполнения (к примеру Апп-функция).
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступен из скрипта | Описание |
onclick | действие | нет | нет | да | Название действия (action/actiongroup), выполняемое при нажатии на кнопку | |
iconname | строка | нет | да | да | Наименование иконки из репозитория для отображения на кнопке | |
hint | строка | нет | да | да | Текст всплывающей подсказки при наведении на кнопку |
Текст/подпись (label)
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступен из скрипта | Описание |
onclick | действие | нет | нет | нет | Название действия (action/actiongroup), выполняемое при клике на тексте |
Таблица (grid)
Компонент для отображения табличных данных.
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание | ||
groupby | строка | нет | да | нет | Перечисление колонок курсора для их группировки через запятую (Только для Delphi) | |||
groupbox | булеан | нет | true | нет | нет | При истинном значении отображается поле для ручной группировки данных пользователем (Только для Delphi) | ||
selectedRow | строка курсора | только чтение | нет | да | Позволяет получить данные из выделенной в гриде строке, дополнительно указав название колонки в курсоре. Например выражение:
возвращает из выделенной строки грида grid значение ячейки в колонке с именем rw_name | |||
selectedRows | строка курсора | только чтение | нет | да | Позволяет получить данные из выделенных в гриде строк, дополнительно указав название колонки в курсоре. Например выражение:
возвращает через запятую из выделенных строк грида значение ячеек в колонке с именем rw_name. В случае, когда выделена только одна строка в гриде, атрибут работает как selectedRow | |||
selectedCell | любой тип | только чтение | нет | да | Позволяет получить данные из выделенной ячейки грида. Например выражение:
возвращает значение выделенной ячейки грида | |||
selectedSourceField | строка | только чтение | нет | да | Название колонки в курсоре данных, соответствующей выделенной колонки грида
| |||
selectedGroup | строка | только чтение | нет | да | Информация о группировке. Формат:
Например, если данные в гриде сгруппированы по колонка A и B. Осуществляется попытка провалиться в итоги, где A="Значение A", B="Значение B", то результирующая строка будет
Не поддерживается в XM | |||
selectioncolumn | строка | только чтение | нет | нет | Имя колонки (поля), в котором пользователь сможет осуществлять выделение галочкой.
!!! поле с таким именем должно присутствовать в датасете, а колонка с этим полем - в списке колонок грида!!! | |||
livecomplexheaders | булеан | нет | false | нет | нет | Признак того, что в случае сложных заголовков сохраняется возможность сортировать и фильтровать по столбцам грида.
Если этот атрибут равен "true", то значение атрибута numerate игнорируется и считается равным "false". | ||
columnfiltereditemslist | булеан | нет | false | нет | нет | При фильтрации в фильтрах колонок грида присутствуют только значения видимые в результате применения фильтров по другим колонкам(иначе фильтры колонок содержат все значения). | ||
groupHeaderLineCount | число | нет | 1 | нет | нет | Количество строк в заголовке группы. | ||
cansort | булеан | нет | true | нет | нет | Дать возможность пользователю сортировать данные. | ||
expandGroups | булеан | нет | false | нет | нет | Развернуть группировки. | ||
checkedRows | строка курсора | только чтение | нет | да | Позволяет получить данные из строк в гриде, отмеченными галочками, дополнительно указав колонку название колонки в курсоре. Значения будут перечислены через запятую.
Например выражение:
для отмеченных строк грида rw_id = 10 и rw_id=20 вернет "10,20" Отмеченной строкой грида является та строка, у которой значение колонки из selectioncolumn равно истине | |||
rowstyle | строка | нет | нет | да | "Стиль строки" - Название колонки, содержащей информацию о раскраске строки таблицы. Формат раскраски описан в статье (Выделение цветом строк в окне фильтра) - TTTTTT$BBBBBB$SSSS | |||
selectedRowStyle | строка | нет | нет | да | "Стиль выделенной строки" - Название колонки, содержащей информацию о раскраске выделенной строки таблицы. Формат раскраски описан в статье (Выделение цветом строк в окне фильтра) - TTTTTT$BBBBBB$SSSS | |||
minRows | число | нет | нет | нет | Минимальное число строк на странице | |||
maxRows | число | нет | нет | нет | Максимальное число строк на странице | |||
selectedColumnName | строка | только чтение | нет | да | Название активной колонки (которое отображается в шапке грида) | |||
selectedColumnNameWithBands | строка | только чтение | нет | да | Для сложных шапок - последовательность названий колонок, в которые входит активная, начиная сверху, через запятую.
Пример: Верхний бенд, средний бенд, название колонки. | |||
selectedColumnBand(xx) | строка | только чтение | нет | да | Возвращает функцию для расчета сложных шапок - названий бендов. Для получения последовательности бендов заданного уровня, необходима запись типа ${eval(windowName.gridName.selectedColumnBand,xx)}, где windowName - имя формы, gridName - имя грида, xx - номер уровня (считается от колонки вверх). | |||
exportCaption | строка | нет | да | нет | Текст в шапке листа Excel при экспорте. |
Обработчики событий
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание |
ondrilldown | действие (action/actiongroup) | нет | да | нет | Название действия, выполняемое при двойном щелчке на строк. Если столбцу грида, в ячейке которого был выполнен двойной щелчток мышью также содержит атрибут ondrilldown, то выполняется действие, назначенное столбцу. | |
onrowselect | действие (action/actiongroup) | нет | да | нет | Название действия, выполняемое при смене активной строки грида.
Действие также выполняется при инициализации грида, так как в этот момент его первая строка становится активной. | |
onrowclick | действие (action/actiongroup) | нет | да | нет | Название действия, выполняемое при нажатии на строку грида. |
Группа колонок грида (colgroup)
Объединяет несколько пордяд идущих колонок в одну визуальную группу
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание |
caption | строка | да | да | нет | Название группы колонок |
Колонка (column)
Описывает визуальное представление колонки грида и связывает колонку с курсором данных.
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание |
caption | строка | да | да | нет | Название колонки | |
sourcefield | строка | да | нет | нет | Название отображаемой колонки курсора | |
displayformat | перечислимый | нет | нет | Формат отображения данных:
| ||
summary | строка | нет | нет | Формула для расчета итогов и подытогов колонки. Формулы 1-го рода - агрегирующие функции:
Формулы 2-го рода - агрегирующие функции по произвольным колонкам курсора:
Формулы 3-го рода - формулы первого и второго рода и операторы для $-выражений. Например: sum(название колонки курсора) + min() - сумма значений заданной колонки плюс минимальное значение в текущей колонке. XM-формула Есть возможность так же использовать xm-формулы, они обязательно должны быть обернуть в $ выражение - ${Текст формулы} | ||
summaryformat | строка | нет | нет | Формат отображения данных итогов и подытогов колонки:
Примечание: если в summary колонки находится формула 2-го или 3-го рода (см. summary), то необходимо определить формат итога для значения формулы с помощью summaryformat. | ||
headerstyle | стиль | да | нет | Стиль шапки колонки. Фактически используется только для задания ширины колонки. | ||
contentstyle | стиль | да | нет | Стиль данных по колонке. Никак не влияет на внешний вид колонки. Добавлен на случай будущего расширения стилей дополнительными атрибутами. | ||
descriptionfunc | строка | нет | нет | Наименование апп-функции, для получения описания картинки | ||
visible | строка | нет | 1|true | да | нет | Видимость столбца. Возможные значения "1"|"true" или "0"|"false" (независимы от регистра).
Примечание: если при обращении к этому атрибуту его значение в строковом виде равно "1" или "true", то оно принимается за true, в случае любых других значений включая пустую строку или NULL оно принимается за false. |
widthinchars | число | нет | нет | нет | Начальная ширина колонки в размере равном указанному количеству латинских символов "a" | |
icons | строка | нет | нет | нет | Список идентификаторов системных иконок которые последовательно будут отображаться в поле типа checkicon при изменении значения поля. (Первая иконка списка отображается при значении поля 0, вторая 1 итд) | |
cellstyle | строка | нет | нет | нет | нет | Название колонки, содержащей информацию о раскраске ячейки в колонке таблицы.
Значением в поле колонки стиля должна быть строка, содержащая json с настройками стилизации ячейки в строке. Поддерживаются следующие параметры стилизации: bgcolor - цвет заливки ячейки textcolor - цвет текста ячейки textalign - кастомное выравнивание содержимого ячейки по горизонтали ( left, center, right ) fractionDigits - количество знаков после запятой для ячеек с типом "number" - (параметр числовой - то есть "fractionDigits": 2 , а не "2") bold (true/false) - жирный шрифт italic (true/false) - курсив underline (true/false) - подчеркивание strikethrough (true/false) - перечеркивание Например '{"bgcolor": "#00ff00", "textcolor": "#ffff00", "underline": true, "strikethrough": false}' Важно, чтобы значением свойств bold, italic, underline и strikethrough было именно булево значение true или false, а не строки "true" или "false" |
headerLineBreak | булеан | false | нет | нет | Признак переноса строки в заголовке колонки. | |
headerTextAlign | строка | left | нет | нет | Выравнивание текста в заголовке колонки:
| |
withDischarges | булеан | нет | false | нет | нет | Разделение на разряды. Учитывается для колонок с форматом отображения число или деньги. |
Обработчики событий
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание |
ondrilldown | действие (action/actiongroup) | да | нет | Название действия при проваливании в ячейку. Информацию о ячейке можно получить из атрибутов selectedCell, selectedSourceField, selectedRow | ||
ondrillsummary | действие (action/actiongroup) | да | нет | Название действия при проваливании в строку итогов. Информацию о группировки можно получить из атрибута selectedGroup | ||
onchangevalue | действие (action/actiongroup) | да | нет | Для displayformat "check" и "checkicon" - определяет действие которое будет вызываться при смене значения в ячейке (клике на чекбокс/иконку).
Вызывается после установки нового значения в гриде. |
Форматирование данных
Тип данных/displayformat | Выравнивание | Способ форматирования |
---|---|---|
Число/number | справа |
|
Дата/date | по центру | Формат отображения: dd.mm.yyyy hh24:mi:ss.
Время отображается только, если оно не равно 00:00:00 |
/datetime | по центру | Формат отображения: dd.mm.yyyy hh24:mi:ss |
/currency | справа |
|
Строка/string (в разработке) | слева | Данные, отличные от строки, форматируются в строку согласно правилам "Способ форматирования" для каждого типа данных. Исключение для чисел, при форматировании в строку для них не используются разделители тысячных |
Числовое поле (edit)
Компонент для ввода числовых данных (numedit).
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание |
displayformat | перечислимый | нет | number | нет | нет | Формат отображения данных:
|
totalDigits | число | нет | нет | нет | Допустимая длина числа
Мин. - 1 (oracle), макс. - 38 (oracle) Если значение не задано, оно считается равным максимальному | |
fractionDigits | число | нет | нет | нет | Допустимая длина дробной части
Мин. - 1 (oracle), макс. - 10 (oracle) Если значение не задано, оно считается равным максимальному | |
withDischarges | булеан | нет | true | нет | нет | Разделить число на разряды |
incDecButtonsNeeded | булеан | нет | false | нет | нет | Управляет отображением кнопок увеличения\уменьшения значения на 1. |
Текстовое поле ввода (numedit)
Компонент для ввода текстовых данных (edit).
Свойства
Название атрибута | Тип данных | Обязательность | Значение по умолчанию | Может содержать скрипт | Доступ из скрипта | Описание |
password | булеан | нет | false | нет | да | При истинном значении текст отображается в зашифрованном виде |
maxlength | число | нет | 0 | нет | да | Наибольшая возможная длина текста. Если введено число символов больше, чем заданная максимальная длина, то текст обрезается до размера, указанного в maxlength.
В случае отсутствия этого атрибута или его нулевого или отрицательного значения длина текста ничем не ограничена. |
immediateChange | булеан | нет | false | нет | нет | Требование XM-документу реагировать на каждое изменение соджержимого строки ввода и немедленно производить соответствующие расчеты. |
mask | строка | нет | нет | нет | Маска ввода. Содержит шаблон, по которому будет форматировано значение поля.
Шаблоны бывают двух видов - маска и обычное регулярное выражение. 1) Шаблон типа "Маска": 0 - любое число a (латинская) - любая буква * - любой символ [] - все, что внутри, к вводу необязательно {} -все, что внутри, останется в value у поля. Используется для тех символов, которые уже являются частью маски изначально - например, знаки пунктуации. Так, данные, введенные по маске 000-000 не будут в итоге содержать дефиса (он будет добавляться только в саму маску поля, без передачи в БД\хранилище при сохранении), а по 000{-}000 - будут. Если какой-то из вышеперечисленных символов нужно вставить буквально, его надо экранировать обратным слешем - \ (то есть \0 позволит только ноль вставить).
([A-Z]) Такая запись будет соответствовать одному символу. Если символов несколько, то добавляется квантификатор в круглых скобках, следующих за скобками с RegExp: ([A-Z])(4) - нужно ввести строго 4 символа. ([A-Z])(1,4) - минимум один, максимум 4. Квантификатор не может быть открытый, т.к. шаблон типа "Маска" подразумевает точное указание количества символов. Если необходимо сделать круглую скобку частью маски, то ее нужно экранировать обратным слешем - \. Пример: \(([A-Z])(1, 4)\) - ввод пользователя будет обрамлен круглыми скобками. 2) Шаблон типа "Регулярное выражение": RegExp нужно вводить в поле как обычное регулярное выражение, но оно должно быть таким, чтобы поддерживался промежуточный ввод. Например: ^\d{1,2}\/\d{1,2}\/\d{4}$ - не поддерживается, т.к. предполагает одновременное наличие минимум 6 символов. ^\d{0,2}\/?\d{0,2}\/?\d{0,4}$ - поддерживается, т.к. допускает промежуточный ввод. ^\d{1,2}\/?\d{0,2}\/?\d{0,4}$ - тоже поддерживается, т.к. первым символом будет введено число - и строка будет соответствовать RegExp. Для правильной интерпретации следует добавлять в начало выражения - ^, а в конец - $.
| |
maskType | строка | нет | pattern | нет | нет | Тип маски ввода. Содержит строку, по которой определяется тип маски - шаблон библиотеки IMask или RegExp. |
Свойство | Наличие значения | Назначение |
---|---|---|
Идентификатор | Обязательно | Описание: атрибут предназначен для указания выражения, которое будет содержать идентификатор режима
Допустимые значения: статичная строка(Значение может задаваться явно, т.е. в числовом виде, либо через переменную документа. например XM_DOCUMENT.num, где XM_DOCUMENT - название документа, num - имя переменной ) По умолчанию тип не выбран |
Название режима | Не обязательно | Атрибут позволяет выбрать название из существующих режимов |
Свойства применимости
Свойство | Наличие значения | Назначение |
---|---|---|
Скрывать если | Не обязательно | Описание: атрибут предназначен для визуального скрытия элемента на форме.
Допустимые значения: формула, результат - логический тип. Если значение равно:
|
Выполнять если | Не обязательно | Описание: атрибут предназначен для задания условия, значение которого влияет на доступность к данному компоненту.
Допустимые значения: формула, результат - логический тип. Если значение равно:
Примечание: если выражение не задано, то условие по умолчанию принимает значение Истина. |