Перейти к основному содержимому
Версия: 7.0

Инструкция DESIGN

Инструкция DESIGN - изменение дизайна формы.

Синтаксис

Синтаксис представляет собой вложенные друг в друга блоки инструкций дизайна. Внешний блок, начинающийся с ключевого слова DESIGN, определяет форму, дизайн которой будет изменяться:

DESIGN formName [caption] [CUSTOM] {
designStatement1
...
designStatementN
}

Каждый designStatement описывает одну инструкцию дизайна. Инструкции дизайна бывают следующих типов:

NEW name [insertPos] [{...}];
MOVE selector [insertPos] [{...}];
selector [{...}];
REMOVE selector;
propertyName = value;

Первые три инструкции: создание (NEW), перемещение (MOVE) и редактирование могут в свою очередь содержать вложенные блоки инструкций дизайна. Инструкции дизайна удаление (REMOVE) и изменение значения свойства (=) являются простыми одиночными инструкциями. Каждая инструкция дизайна должна завершаться точкой с запятой, если в ней не содержится вложенный блок инструкций.

Каждый selector может быть одного из следующих типов:

componentName
PROPERTY(formPropertyName)
FILTER(filterName)
FILTERGROUP(filterGroupName)
PARENT(selector)
GROUP([propertyGroupSelector][,groupObjectTreeSelector])
noGroupObjectTreeContainerType
groupObjectTreeContainerType(groupObjectTreeSelector)

В свою очередь, groupObjectTreeSelector может быть одного из двух видов:

groupObjectSelector
TREE treeSelector

Описание

При помощи инструкции DESIGN разработчик может управлять дизайном интерактивного представления формы путем создания, перемещения и удаления контейнеров и компонент, а также задания им определенных свойств. По умолчанию для каждой формы создается дизайн по умолчанию вместе с соответствующими контейнерами. При необходимости можно пересоздать дизайн без созданных по умолчанию контейнеров и выполненных ранее настроек. Осуществляется это с помощью ключевого слова CUSTOM.

Каждый блок инструкций дизайна, заключенный в фигурные скобки, позволяет изменять некоторый компонент и его потомков, будем называть этот компонент текущим компонентом либо текущим контейнером, если нам известно, что компонент в данной ситуации должен являться контейнером. Во внешнем блоке, идущем после ключевого слова DESIGN, текущим компонентом является контейнер main. Существует следующие виды инструкций дизайна:

  • Инструкция создания (NEW) позволяет создать новый контейнер, делая его потомком текущего контейнера. Текущим компонентом в блоке инструкций дизайна, содержащемся в этой инструкции, будет являться созданный контейнер.
  • Инструкция перемещения (MOVE) позволяет сделать некоторый существующий компонент непосредственным потомком текущего контейнера. Предварительно этот компонент удаляется из предыдущего родительского контейнера. Текущим компонентом в блоке инструкций дизайна, содержащемся в этой инструкции, будет являться перемещаемый компонент.
  • Инструкция редактирования позволяет изменить указанный компонент, который должен являться потомком (не обязательно непосредственным) текущего контейнера. Текущим компонентом в блоке инструкций дизайна, содержащемся в этой инструкции, будет являться указанный элемент.
  • Инструкция удаления (REMOVE) позволяет удалить указанный компонент из иерархии компонентов. Удаляемый компонент должен являться потомком текущего контейнера.
  • Инструкция изменения значения свойства (=) позволяет изменить значение указанного свойства текущего компонента.

Иерархия компонент, описываемая в рамках одной инструкции, может иметь произвольный уровень вложенности и описывать любое количество компонентов и их свойств на каждом из уровней.

Для обращения к компонентам дизайна можно использовать их имя, а также обращаться к компонентам свойств на форме (PROPERTY), родительскому компоненту (PARENT), контейнерам групп свойств (GROUP) и другим базовым компонентам / компонентам дизайна по умолчанию. К компоненту свойства, созданному предопределённым оператором работы с объектами, можно обращаться по имени оператора с его отображением на объекты, например PROPERTY(NEW(o)), PROPERTY(NEW[Order](o)), PROPERTY(EDIT(o)) или PROPERTY(DELETE(o)), если свойству не задано явное имя на форме.

Параметры

Общие параметры

  • formName

    Имя изменяемой формы. Составной идентификатор.

  • caption

    Новый заголовок формы в интерактивном режиме отображения. Строковый литерал. В навигаторе заголовок формы при этом не изменяется.

  • name

    Имя создаваемого контейнера. Простой идентификатор.

  • insertPos

    Указание позиции вставки или перемещения компонента. Может задаваться одним из следующих способов:

    • BEFORE selector

    • AFTER selector

      Указание того, что компонент должен быть добавлен или перенесен непосредственно перед (BEFORE) или после (AFTER) указанного компонента. Указанный компонент должен быть непосредственным потомком текущего контейнера.

    • FIRST

      Ключевое слово, указывающее на то, что компонент должен быть добавлен или перенесен в начало списка непосредственных потомков текущего контейнера.

    • LAST

      Ключевое слово, указывающее на то, что компонент должен быть добавлен или перенесен в конец списка непосредственных потомков текущего контейнера. В отличие от добавления по умолчанию, компоненты, вставленные с помощью LAST, всегда будут располагаться после всех компонентов, добавленных в порядке объявления.

    • DEFAULT

      Ключевое слово, указывающее на то, что компонент добавляется в список непосредственных потомков текущего контейнера в порядке объявления. Является значением по умолчанию.

  • propertyName

    Имя свойства компонента. Список существующих свойств перечислен в таблицах ниже.

  • value

    Значение, присваиваемое соответствующему свойству контейнера. Допустимый тип значения можно посмотреть в таблицах ниже.

Свойства компонентов

Имя свойстваОписаниеВид значенияЗначение по умолчаниюПримеры
spanКоличество ячеек линии (колонок или рядов), которое компонент занимает в контейнере с раскладкой в несколько lines (или grid)Целочисленный литерал12
defaultComponentУказание того, что на данный компонент должен быть выставлен фокус при инициализации формы. Может быть установлен только для одного компонента на всей формеДополненный логический литералFALSETRUE
FALSE
activatedУказание того, что компонент (вкладка) должен быть изначально выбран в своём контейнере с вкладками при открытии формыЛогический литералFALSETRUE
FALSE
fillАналогично свойству flex, но кроме того, если устанавливается нулевое значение, то свойство align устанавливается в START, иначе align устанавливается в STRETCHЛитерал типа NUMERIC01.5
sizeБазовый размер компонента в пикселях (значение -1 означает, что размер не установлен)Пара целочисленных литералов (ширина, высота)(-1, -1)(100, 20)
heightБазовый размер компонента по высоте в пикселях.Целочисленный литерал-150
widthБазовый размер компонента по ширине в пикселях.Целочисленный литерал-120
flexКоэффициент расширения. Значение свойства, аналогичного свойству CSS flex-grow. Задает насколько компонент должен расти в размерах относительно других компонентовЛитерал типа NUMERIC00.25
shrinkРазрешает компоненту сжиматься меньше своего базового размера вдоль основного направления контейнера (аналогично CSS flex-shrink)Логический литералFALSETRUE
FALSE
alignShrinkРазрешает компоненту сжиматься меньше своего базового размера вдоль поперечного направления (выравнивания)Логический литералFALSETRUE
FALSE
align
alignment
Способ выравнивания компонента внутри контейнера. Допустимые значения: START (В начале), CENTER (В центре), END (В конце), STRETCH (Растянуть).Тип выравниванияSTARTSTRETCH
alignCaptionПри выравнивании заголовков в контейнере (alignCaptions) рисует заголовок этого компонента в общей колонке заголовковЛогический литералFALSETRUE
FALSE
overflowHorzПоведение, когда содержимое превышает ширину компонента: auto (прокрутка при необходимости), clip, visible (CSS overflow-x)Строковый литералautoclip
visible
auto
overflowVertПоведение, когда содержимое превышает высоту компонента: auto (прокрутка при необходимости), clip, visible (CSS overflow-y)Строковый литералautoclip
visible
auto
marginTopОтступ сверхуЦелочисленный литерал03
marginBottomОтступ снизуЦелочисленный литерал04
marginLeftОтступ слеваЦелочисленный литерал01
marginRightОтступ справаЦелочисленный литерал01
marginОтступ. Устанавливает одинаковое значение свойствам marginTop, marginRight, marginBottom, marginLeftЦелочисленный литерал05
captionFontШрифт, который будет использоваться для отображения заголовка компонентаСтроковый литералзависит от компонента'Tahoma bold 16'
'Times 12'
fontШрифт, который будет использоваться для отображения текста компонента, например, значения свойства, заголовка действия, текста в таблицеВыражение (строковое значение)зависит от компонента'Tahoma bold 16'
'Times 12'
classCSS-классы компонента (через пробел)Выражение (строковое значение)NULLsome-class-one some-class-two
fontSizeРазмер шрифта, который будет использоваться для отображения текста компонентаЧисловой литералзависит от компонента10
fontStyleСтиль шрифта, который будет использоваться для отображения текста компонента. Может содержать слова 'bold' и/или 'italic', либо пустую строкуСтроковый литерал'''bold'
'bold italic'
backgroundЦвет, который будет использоваться для отображения фона компонентаВыражение (значение класса COLOR)NULL#FFFFCC
RGB(255, 0, 0)
foregroundЦвет, который будет использоваться для отображения текста компонентаВыражение (значение класса COLOR)NULL#FFFFCC
RGB(255, 0, 0)
panelCaptionVerticaldeprecated since version 6, используйте captionVerticalЛогический литералTRUETRUE
FALSE
captionVerticalУказание того, что в панели необходимо рисовать заголовок компонента свойства или действия сверху от значенияЛогический литералTRUETRUE
FALSE
panelCaptionLastdeprecated since version 6, используйте captionLastЛогический литералFALSETRUE
FALSE
captionLastУказание того, что в панели необходимо рисовать сначала значение, а потом заголовок свойстваЛогический литералFALSETRUE
FALSE
panelCaptionAlignmentdeprecated since version 6, используйте captionAlignmentHorzТип выравниванияSTARTSTRETCH
captionAlignmentHorzСпособ выравнивания заголовка компонента по горизонтали. Допустимые значения: START (В начале), CENTER (В центре), END (В конце), STRETCH (Растянуть).Тип выравниванияSTARTSTRETCH
captionAlignmentVertСпособ выравнивания заголовка компонента по вертикали. Допустимые значения: START (В начале), CENTER (В центре), END (В конце), STRETCH (Растянуть).Тип выравниванияCENTERSTRETCH
showIfУказание условия, при котором компонент будет отображатьсяВыражение (логическое значение)NULLisLeapYear(date)
hasComplexity(a, b)

Свойства контейнеров

Имя свойстваОписаниеВид значенияЗначение по умолчаниюПримеры
captionЗаголовок контейнераВыражение (строковое значение)NULL'Заголовок'
captionClassCSS-классы заголовка контейнера (через пробел)Выражение (строковое значение)NULL'some-caption-class'
valueClassCSS-классы значения контейнера (через пробел)Выражение (строковое значение)NULL'some-value-class'
imageКартинка, отображаемая в заголовке контейнера: путь относительно каталога images либо выражение-свойство, дающее картинкуВыражение (строковое значение)NULL'image.png'
collapsibleПозволяет пользователю сворачивать и разворачивать контейнер; в свёрнутом виде показывается только его заголовокЛогический литералзависит от заголовкаTRUE
FALSE
popupПоказывает содержимое контейнера во всплывающем окне, открываемом из его заголовка, а не внутри формы (контейнер изначально свёрнут)Логический литералFALSETRUE
FALSE
borderРисование рамки вокруг контейнераЛогический литералFALSETRUE
FALSE
collapsedДелает так, что сворачиваемый контейнер изначально свёрнутЛогический литералFALSETRUE
FALSE
horizontalГоризонтальный контейнерЛогический литералFALSETRUE
FALSE
tabbedКонтейнер с табамиЛогический литералFALSETRUE
FALSE
childrenAlignmentСпособ выравнивания дочерних компонентов внутри контейнера. Допустимые значения: START, CENTER, ENDТип выравниванияSTARTCENTER
alignCaptionsВыравнивает заголовки дочерних свойств в общую колонку, чтобы их значения выстраивались в линиюЛогический литералзависит от контейнераTRUE
FALSE
gridРасполагает потомков в виде сетки (используя lines как количество дорожек и span каждого потомка) вместо обычного линейного потокаЛогический литералFALSETRUE
FALSE
wrapРазрешает потомкам переноситься на несколько линий, когда они не помещаются в однуЛогический литералзависит от контейнераTRUE
FALSE
resizeOverflowРазрешает контейнеру выходить за пределы доступного места, когда его содержимое не помещается (работает как максимальный размер)Логический литералFALSETRUE
FALSE
customОтображает контейнер при помощи пользовательского клиентского представления (только веб-клиент). Форма значения выбирает отрисовщик: строковый литерал, соответствующий [A-Z][A-Za-z0-9_$]* (простой идентификатор, начинающийся с заглавной буквы), задаёт компонент React, а пустая строка '', строка с HTML-шаблоном или свойство дают классическое пользовательское представление (его имя, путь или встроенное определение)Выражение (строковое значение)NULL'OrderBoard'
'myView'
linesКоличество линий (рядов или колонок) в контейнереЦелочисленный литерал13
lineSizeБазовый размер каждой дорожки линии в многолинейном или сеточном контейнере, в пикселяхЦелочисленный литералNULL60
captionLineSizeБазовый размер общей дорожки колонки заголовков при выравнивании заголовков, в пикселяхЦелочисленный литералNULL60
reversedМеняет на обратный порядок дочерних компонентов (и направление линий в многолинейной раскладке)Логический литералзависит от контейнераTRUE
FALSE
lineShrinkРазрешает дорожкам линий многолинейного контейнера сжиматься меньше их базового размераЛогический литералзависит от контейнераTRUE
FALSE

Свойства свойств и действий на форме

Имя свойстваОписаниеВид значенияЗначение по умолчаниюПримеры
autoSizeАвтоматическое определение размера для компонента. Применяется только для текстовых компонентовДополненный логический литералFALSETRUE
FALSE
changeOnSingleClickУказание того, что при однократном нажатии мышкой на компонент свойства, необходимо начинать редактированиеДополненный логический литералзависит от свойстваTRUE
FALSE
hideУказание того, что компонент свойства (действия) должен быть всегда спрятанДополненный логический литералFALSETRUE
FALSE
maxValueМаксимальное числовое значение, которое позволяет ввести компонент свойстваЦелочисленный литералNULL1000000
5000000000L
echoSymbolsУказание того, что вместо значения свойства будет показываться набор символов *. Используется, например, для паролейДополненный логический литералFALSETRUE
FALSE
noSortЗапрет сортировкиЛогический литералFALSETRUE
FALSE
defaultCompareФильтр по умолчанию. Допустимые значения: =, >, <, >=, <=, !=, =* (содержит), =@ (нечёткий поиск).Строковый литералзависит от свойства>
valueSizeШирина и высота ячейки значения свойства в пикселяхПара целочисленных литералов (ширина, высота)(-1, -1)(100, 100)
valueHeightВысота ячейки значения свойства в пикселяхЦелочисленный литералзависит от свойства100
valueWidthШирина ячейки значения свойства в пикселяхЦелочисленный литералзависит от свойства100
captionHeightВысота заголовка свойства в пикселяхЦелочисленный литерал-1100
captionCharHeightВысота заголовка свойства в символахЦелочисленный литерал-15
captionWidthШирина заголовка свойства в пикселяхЦелочисленный литерал-1100
charHeightВысота ячейки значения свойства в символах (строках); -1 означает, что высота определяется типом значения свойстваЦелочисленный литерал-12
charWidthШирина ячейки значения свойства в символах; -1 означает, что ширина определяется типом значения свойстваЦелочисленный литерал-110
valueFlexЗаставляет ячейку значения растягиваться и заполнять доступную ширину, переопределяя определяемое типом поведение по умолчаниюЛогический литералзависит от свойстваTRUE
FALSE
changeKeyКлавиша, при нажатии которой будет начато редактирование свойства. Принцип задания аналогичен заданию параметра в Keystroke.getKeystroke(String)Выражение (строковое значение)NULL'ctrl F6'
'BACK_SPACE'
'alt shift X'
showChangeKeyУказание того, что в заголовок свойства будет включено название сочетания клавиш, по которому будет начато редактированиеДополненный логический литералFALSETRUE
FALSE
changeMouseДействие мыши, по которому будет начато редактирование свойстваВыражение (строковое значение)NULL'DBLCLK'
showChangeMouseУказание того, что в заголовок свойства будет включено название действия мыши, по которому будет начато редактированиеДополненный логический литералFALSETRUE
FALSE
focusableУказание того, что компонент свойства (действия) или колонка в таблице могут владеть фокусомДополненный логический литералNULLTRUE
FALSE
inlineОтображает свойство или действие в потоке своего контейнера, а не как отдельный блок раскладкиДополненный логический литералNULLTRUE
FALSE
panelColumnVerticalВ панели располагает колонки группы-в-колонки свойства вертикально, а не горизонтальноЛогический литералFALSETRUE
FALSE
classCSS-классы свойства (через пробел)Выражение (строковое значение)NULLsome-class-one some-class-two
footerClassCSS-классы футера свойства (через пробел)Выражение (строковое значение)NULLsome-footer-class
valueClassCSS-классы значения свойства (через пробел)Выражение (строковое значение)NULLsome-value-class
captionClassCSS-классы заголовка свойства (через пробел)Выражение (строковое значение)NULLsome-caption-class
captionЗаголовок свойства или действияСтроковый литералзаголовок свойства или действия'Заголовок'
tagHTML-тег, которым отображается элемент значения (например input, a, button, select); переопределяет автоматически выбираемый тегСтроковый литералNULL'a'
inputTypeТип HTML-поля ввода, используемый при редактировании значения (например password, range); переопределяет определяемый типом по умолчаниюСтроковый литералNULL'password'
imageПуть к файлу с картинкой, которая будет отображаться в качестве иконки действия. Путь указывается относительно каталога imagesВыражение (строковое значение)NULL'image.png'
imagePathdeprecated since version 6, используйте imageВыражение (строковое значение)NULL'image.png'
commentКомментарий свойства или действияВыражение (строковое значение)NULL'Комментарий'
commentClassКласс комментария свойства или действияВыражение (строковое значение)NULL'comment-class'
panelCommentVerticalУказание того, что в панели необходимо рисовать комментарий свойства или действия сверху или снизу от значенияДополненный логический литералFALSETRUE
FALSE
panelCommentFirstУказание того, что в панели необходимо рисовать сначала комментарий, а потом значение свойстваДополненный логический литералFALSETRUE
FALSE
panelCommentAlignmentСпособ выравнивания компонента комментария внутри контейнера. Допустимые значения: START (В начале), CENTER (В центре), END (В конце), STRETCH (Растянуть).Тип выравниванияCENTERSTRETCH
placeholderPlaceholder свойстваВыражение (строковое значение)placeholder свойства'Placeholder'
patternШаблон форматирования значения свойства. Синтаксис задания шаблона аналогичен синтаксису DecimalFormat либо SimpleDateFormat в зависимости от типа значенияСтроковый литералNULL'#,##0.00'
regexpРегулярное выражение, которому должно соответствовать значение свойства при редактированииВыражение (строковое значение)NULL'^((8|\\+7)[\\- ]?)?(\\(?\\d\{3\}\\)?[\\- ]?)?[\\d\\- ]\{7,10\}$'
regexpMessageСообщение, которое будет выдано пользователю, если он введет значение не соответствующее регулярному выражениюВыражение (строковое значение)сообщение по умолчанию'Неправильный формат телефона'
tooltipПодсказка, которая будет показываться при наведении пользователем мышки на заголовок свойства или действияВыражение (строковое значение)tooltip по умолчанию'Подсказка'
valueTooltipПодсказка, которая будет показываться при наведении пользователем мышки на значение свойстваВыражение (строковое значение)tooltip по умолчанию'Подсказка'
valueAlignmentСпособ выравнивания значения компонента. Допустимые значения: START (В начале), CENTER (В центре), END (В конце), STRETCH (Растянуть).
deprecated since version 6, используйте valueAlignmentHorz
Тип выравниванияSTARTSTRETCH
valueAlignmentHorzСпособ выравнивания по горизонтали значения компонента. Допустимые значения: START (В начале), CENTER (В центре), END (В конце), STRETCH (Растянуть).Тип выравниваниязависит от свойстваSTRETCH
valueAlignmentVertСпособ выравнивания по вертикали значения компонента. Допустимые значения: START (В начале), CENTER (В центре), END (В конце), STRETCH (Растянуть).Тип выравниваниязависит от свойстваSTRETCH
panelCustomИспользует пользовательскую раскладку свойства в панели вместо стандартной раскладки «заголовок и значение»Логический литералзависит от свойстваTRUE
FALSE
valueOverflowHorzПоведение, когда содержимое значения превышает ширину ячейки: auto, clip, visible (CSS overflow-x)Строковый литералзависит от свойстваauto
clip
visible
valueOverflowVertПоведение, когда содержимое значения превышает высоту ячейки: auto, clip, visible (CSS overflow-y)Строковый литералclipauto
clip
visible
valueShrinkHorzРазрешает ячейке значения сжиматься меньше своей базовой шириныЛогический литералзависит от свойстваTRUE
FALSE
valueShrinkVertРазрешает ячейке значения сжиматься меньше своей базовой высотыЛогический литералзависит от свойстваTRUE
FALSE
highlightDuplicateПодсвечивает ячейки, значение которых повторяет значение другой ячейки в той же колонкеЛогический литералзависит от таблицыTRUE
FALSE
wrapWordBreakПри переносе значения разрешает перенос внутри длинных слов, а не только по пробеламЛогический литералFALSETRUE
FALSE
ellipsisОбрезает не помещающийся текст значения с многоточиемЛогический литералзависит от свойстваTRUE
FALSE
collapseСжимает ячейку значения до одной строки, без раскрытия для многострочного содержимогоЛогический литералзависит от свойстваTRUE
FALSE
captionWrapРазрешает тексту заголовка свойства переноситься на несколько строкЛогический литералзависит от свойстваTRUE
FALSE
captionWrapWordBreakПри переносе заголовка разрешает перенос внутри длинных словЛогический литералFALSETRUE
FALSE
captionEllipsisОбрезает не помещающийся заголовок с многоточиемЛогический литералTRUETRUE
FALSE
captionCollapseСжимает заголовок до одной строкиЛогический литералFALSETRUE
FALSE
clearTextУказание того, что в начале редактирования свойства должен сбрасываться текущий текстДополненный логический литералFALSETRUE
FALSE
notSelectAllУказание того, что в начале редактирования весь текст не выделяетсяДополненный логический литералFALSETRUE
FALSE
askConfirmУказание того, что при попытке редактирования свойства (выполнении действия) будет выполнен запрос на подтверждениеДополненный логический литералFALSETRUE
FALSE
askConfirmMessageТекст вопроса о подтверждении редактирования свойства (выполнении редактирования)Строковый литералсообщение по умолчанию'Вы действительно хотите изменить это свойство?'
toolbarПоказывает ли ячейка значения собственный небольшой тулбар управленияДополненный логический литералзависит от свойстваTRUE
FALSE
toolbarActionsВключает ли тулбар ячейки значения кнопки действий свойстваДополненный логический литералзависит от свойстваTRUE
FALSE
notNullУказание того, что в случае NULL значения свойства, компонент этого свойства должен быть подсвеченДополненный логический литералnotNull свойстваTRUE
FALSE
selectОтображает значение как элемент выбора из его возможных значений; строка задаёт вид элемента (например 'dropdown', 'list', 'buttongroup', 'input'), а NULL отключает егоСтроковый литералNULL'dropdown'
defaultValueЗначение по умолчанию (при начале редактирования, только для custom interpreter)Выражение (строковое значение)NULLdefault value
defaultValue(a, b)

Свойства тулбара

Имя свойстваОписаниеВид значенияЗначение по умолчаниюПримеры
visibleУказание видимости компонентаЛогический литералTRUETRUE
FALSE
showGroupПоказывать кнопки переключения режимов отображения
deprecated since version 6, используйте showViews
Дополненный логический литералTRUETRUE
FALSE
showViewsПоказывать кнопки переключения режимов отображенияДополненный логический литералTRUETRUE
FALSE
showFiltersПоказывать кнопку настройки фильтровДополненный логический литералTRUETRUE
FALSE
showSettingsПоказывать кнопку настройки таблицыДополненный логический литералTRUETRUE
FALSE
showCountQuantityПоказывать кнопку подсчета количества рядовДополненный логический литералTRUETRUE
FALSE
showCalculateSumПоказывать кнопку подсчета суммы по колонкеДополненный логический литералTRUETRUE
FALSE
showPrintGroupXlsПоказывать кнопку экспорта таблицы в xls-форматДополненный логический литералTRUETRUE
FALSE
showManualUpdateПоказывать кнопку ручного обновленияДополненный логический литералTRUETRUE
FALSE

Свойства таблицы

Имя свойстваОписаниеВид значенияЗначение по умолчаниюПримеры
autoSizeДелает так, что таблица подстраивает свой размер под содержимое, а не заполняет доступное местоЛогический литералFALSETRUE
FALSE
boxedРисование рамки вокруг компонентаЛогический литералTRUETRUE
FALSE
tabVerticalУказание того, что переход фокуса между ячейками будет осуществляться сверху вниз, а не слева направоДополненный логический литералFALSETRUE
FALSE
quickSearchУказание того, что в таблице будет осуществляться быстрый поиск элементаДополненный логический литералFALSETRUE
FALSE
headerHeightВысота заголовка в пикселяхdeprecated since version 6, используйте captionHeightЦелочисленный литералNULL60
captionHeightВысота заголовка в пикселяхЦелочисленный литералNULL60
captionCharHeightВысота заголовка в символахЦелочисленный литералNULL5
resizeOverflowРазрешает таблице выходить за пределы отведённого места, когда ряды не помещаются (работает как максимальная высота)Логический литералFALSETRUE
FALSE
lineWidthБазовая ширина линии содержимого ряда таблицы, в пикселяхЦелочисленный литералNULL60
lineHeightБазовая высота ряда таблицы, в пикселяхЦелочисленный литералNULL60
enableManualUpdateВключить режим ручного обновления по умолчаниюДополненный логический литералFALSETRUE
FALSE
hierarchicalWidthШирина первой колонки дереваЦелочисленный литералNULL100
hierarchicalCaptionЗаголовок первой колонки дереваСтроковый литерал'Дерево'Заголовок дерева

Другие свойства

Имя свойстваДействует дляОписаниеВид значенияЗначение по умолчаниюПримеры
visibleпользовательский фильтр, дерево классовУказание видимости компонента для задания пользовательских фильтров (дерева классов)Дополненный логический литералTRUETRUE
FALSE

Параметры selector

Примеры

DESIGN order { // настраиваем дизайн формы, начиная с дизайна по умолчанию
// отмечаем, что все изменения иерархии будут происходит для самого верхнего контейнера
// создаем новый контейнер самым первым перед системными кнопками, в который положим два контейнера -
// шапка и спецификации
NEW orderPane FIRST {
fill = 1; // указываем, что контейнер должен занимать все доступное ему место
MOVE BOX(o) { // переносим в новый контейнер все, что касается объекта o
PANEL(o) { // настроим как отображаются свойства в панели объекта o
horizontal = FALSE; // делаем, чтобы все потомки шли сверху вниз
NEW headerRow1 { // создаем контейнер - первый ряд
horizontal = TRUE;
MOVE PROPERTY(date(o)) { // переносим свойство даты заказа
// "перегружаем" заголовок свойства в дизайне формы (вместо стандартного)
caption = 'Дата редактируемого заказа';
// задаем подсказку для свойства дата заказа
tooltip = 'Введите сюда дату, когда был сделан заказ';
background = #00FFFF; // делаем фон красным
}
MOVE PROPERTY(time(o)) { // переносим свойство времени заказа
foreground = #FF00FF; // делаем цвет зеленым
}
MOVE PROPERTY(number(o)) { // переносим свойство номер заказа
// ставим, что пользователю желательно должно показываться 5 символов
charWidth = 5;
}
MOVE PROPERTY(series(o)); // переносим свойство серия заказа
}
NEW headerRow2 {
horizontal = FALSE; // потомки - сверху вниз
}
MOVE PROPERTY(note(o));
}

size = (400, 300); //указываем, что контейнер o.box должен иметь базовый размер 400x300 пикселей
}
// создаем контейнер, в котором будут хранится различные спецификации по заказу
NEW detailPane {
// помечаем, что этот контейнер должен быть панелью закладок, где закладками являются его потомки
tabbed = TRUE;
// добавляем контейнер с строками заказа как одну из закладок верхней панели
MOVE BOX(d) {
caption = 'Строки'; // задаем заголовок панели закладки
// делаем, чтобы колонка с номером строки никогда не могла иметь фокус
PROPERTY(index(d)) { focusable = FALSE; }
GRID(d) {
// делаем, чтобы по умолчанию фокус при открытии формы устанавливался на таблицу строк
defaultComponent = TRUE;
}
}
MOVE BOX(s) { // добавляем контейнер с итогами по sku как одну из закладок detailPane
caption = 'Подбор';
}
}
}
}

// разбиваем определение формы на две инструкции (вторую инструкцию можно перенести в другой модуль)
DESIGN order {
// убираем из иерархии контейнер с кнопками печати и экспорта в xls, тем самым делая их невидимыми
REMOVE TOOLBARLEFT;
}

На выходе получаем следующую форму: