8.4 KiB
Таблица — продвинутые возможности
Базовый элемент таблицы (type: "table", колонки, основные свойства) описан в основной инструкции, раздел «Таблица (table)». Здесь — продвинутые возможности: дополнения командной панели, специфика таблицы динамического списка и неочевидные свойства/режимы.
Представление (representation)
Как таблица рисует строки:
{ "table": "Список", "path": "Список", "representation": "Tree" }
List — плоский список (по умолчанию), Tree — дерево, HierarchicalList — иерархический список (группы + элементы на одном уровне).
Для дерева/иерархии управляйте раскрытием уровней через initialTreeView (ExpandTopLevel / ExpandAllLevels / NoExpand).
Выделение и текущая строка
| Ключ | Значения | Назначение |
|---|---|---|
selectionMode |
SingleRow / MultiRow |
Режим выделения строк |
multipleChoice |
bool | Разрешить множественный выбор (для форм выбора) |
currentRowUse |
DontUse / Use / SelectionPresentation / SelectionPresentationAndChoice / Choice |
Использование текущей строки таблицы |
{ "table": "Список", "path": "Список", "selectionMode": "MultiRow", "multipleChoice": true }
Поиск при вводе (searchOnInput)
Поведение встроенного поиска при наборе текста в таблице:
{ "table": "Список", "path": "Список", "searchOnInput": "Use" }
Auto (по умолчанию) / Use (искать) / DontUse (не искать).
Где располагать сами элементы поиска — управляется searchStringLocation / viewStatusLocation / searchControlLocation (None / Top / Bottom / CommandBar / Auto).
Прочие свойства таблицы
| Ключ | Тип | Назначение |
|---|---|---|
useAlternationRowColor |
bool | Чередование цвета строк |
verticalLines / horizontalLines |
bool | Линии сетки (укажите false, чтобы скрыть) |
markIncomplete |
bool | Автоотметка незаполненных ячеек |
heightInTableRows |
int | Высота элемента в строках (отдельно от height) |
autoInsertNewRow |
bool | Автодобавление новой строки при вводе в последнюю |
rowsPicture |
string | object | Картинка строк. Ссылка ("CommonPicture.X", "abs:...") либо объект { src, loadTransparent?, transparentPixel? } |
tooltipRepresentation |
string | Режим показа подсказки таблицы: None, Button, ShowBottom, ShowTop, ShowLeft, ShowRight, ShowAuto, Balloon |
Фиксация колонки (fixingInTable)
Свойство колонки (на input / labelField / check / picField внутри columns), а не самой таблицы. Закрепляет колонку у края при горизонтальной прокрутке:
{ "table": "Товары", "path": "Объект.Товары", "columns": [
{ "input": "Номенклатура", "path": "Объект.Товары.Номенклатура", "fixingInTable": "Left" },
{ "input": "Количество", "path": "Объект.Товары.Количество" }
]}
Left / Right / None.
Исключённые команды (excludedCommands)
Убрать стандартные команды редактора таблицы (кнопки добавления/перемещения/сортировки):
{ "table": "Товары", "path": "Объект.Товары",
"excludedCommands": [ "Add", "Delete", "MoveUp", "SortListAsc" ] }
Свойство работает на любом поле и на уровне формы; для таблицы значимы команды вида Add / Delete / MoveUp / MoveDown / SortListAsc / SortListDesc.
Дополнения командной панели (additions)
Дополнения — это «представления» встроенного поиска таблицы:
searchString— отображение строки поиска,viewStatus— состояние просмотра,searchControl— управление поиском.
Каждое дополнение — полноценный элемент (полный набор свойств поля). Размещать их можно двумя способами.
(1) Стандартные дополнения генерирует платформа на уровне таблицы. В DSL указывайте только отклонения от стандартного вида — через карту additions (ключ = тип дополнения):
{ "table": "Список", "path": "Список",
"additions": { "viewStatus": { "horizontalLocation": "left" } } }
(2) Кастомное дополнение, размещённое прямо в командной панели — обычный элемент в commandBar с ключом-типом:
{ "table": "Список", "path": "Список", "commandBar": [
{ "searchString": "ПоискСписка", "source": "Список", "width": 15, "horizontalStretch": true }
]}
- Тип-ключ:
searchString/viewStatus/searchControl. source— имя таблицы-источника; необязательно, по умолчанию = имя родительской таблицы.horizontalLocation:auto(по умолчанию) /left/right. Применимо и к обычным элементам командных панелей.- Прочие свойства как у поля:
title,visible,userVisible,enabled,tooltip, оформление,width/maxWidth/autoMaxWidth/horizontalStretch/groupHorizontalAlignи др.
Таблица динамического списка
Когда path таблицы указывает на реквизит type: "DynamicList" (см. references/dynamic-list.md), доступен блок специфичных свойств. Указывайте только отличия от умолчания.
| Ключ | Тип | Умолчание | Назначение |
|---|---|---|---|
rowPictureDataPath |
string | картинка осн. таблицы | Путь к картинке строки. "" — подавить картинку |
rowsPicture |
string | — | Картинка строк ("CommonPicture.X") |
autoRefresh |
bool | false |
Автообновление списка |
autoRefreshPeriod |
int | 60 |
Период автообновления, сек |
updateOnDataChange |
string | Auto |
Обновлять при изменении данных: Auto / DontUpdate |
choiceFoldersAndItems |
string | Items |
Что выбирать: Items / Folders / FoldersAndItems |
restoreCurrentRow |
bool | false |
Восстанавливать текущую строку при обновлении |
showRoot |
bool | true |
Показывать корень |
allowRootChoice |
bool | false |
Разрешить выбор корня |
allowGettingCurrentRowURL |
bool | true |
Разрешить получение URL текущей строки |
userSettingsGroup |
string | — | Группа пользовательских настроек (привязка к одноимённой группе настроек) |
{ "table": "Список", "path": "Список",
"representation": "Tree",
"rowPictureDataPath": "Список.DefaultPicture",
"choiceFoldersAndItems": "FoldersAndItems",
"allowRootChoice": true,
"updateOnDataChange": "DontUpdate" }