Difference between revisions of "Студия/Дерево значений"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:55, 7 February 2021
Деревья используются для показа древовидной структуры элементов. Для базы данных такой структурой является структура папок справочников, однако, деревья могут быть использованы и для вывода не относящихся к базе данных значений. Деревья позволяют выделять элементы цветом и параметрами шрифта, содержать флажки для каждой из веток в отдельности, делать недоступными отдельные ветки и пр. Деревья имеют следующие визуальные свойства:
- Закладка Визуальные:
- Anchor (якоря) -- задает якоря визуального элемента.
- Top, Left (координата верхнего левого угла) -- задает координату (в точках) верхнего левого угла элемента относительно начала формы.
- Width, Height (высота и ширина) -- задает высоту и ширину (в точках) элемента.
- MaxWidth, MaxHeight (максимальная высота и ширина) -- задает максимальную высоту и ширину (в точках) элемента. Иногда бывает необходимо ограничить увеличение размера элемента вместе с размерами формы, так как излишнее увеличение может ухудшить читаемость и осложнить работу с элементом. К примеру, слишком длинное поле редактирования неудобно для чтения и т.п. Максимальные размеры позволяют ограничить увеличение элементов до приемлемых величин.
- Layer (слой формы) -- задает слой формы, которому принадлежит текущий элемент. Для описания редактора слоев, см. следующую статью.
- HAlign (горизонтальное выравнивание) -- задает горизонтальное выравнивание отображения элементов списка. Текст может выравниваться по левому краю, по правому краю или по середине.
- Font (шрифт элемента) -- задает шрифт, размер и цвет текста ветки по умолчанию. Для описания редактора шрифтов, см. следующую статью.
- FontColor (цвет текста элемента) -- задает цвет текста ветки по умолчанию. Для описания редактора цветов, см. следующую статью.
- Color (цвет фона элемента) -- задает цвет фона элемента. Для описания редактора цветов, см. следующую статью.
- IsWithCheckboxes (отображение флажков) -- устанавливает режим отображения флажков совместно с ветками дерева по умолчанию.
- IsNoGridLines (запрет отображения линий сетки) -- устанавливает режим, при котором линии сетки дерева не отображаются.
- IsDisabled (недоступность элемента) -- устанавливает режим недоступности дерева.
- IsInvisible (невидимость элемента) -- элемент (и его связанных элементы) становится невидимым в рабочем режиме. В режиме редактирования в Студии, элемент по-прежнему отображен.
- IfResizeWithParentX, IfResizeWithParentY (привязка размеров к группе элементов) -- Особые установки, работающие совместно с MaxWidth и MaxHeight, если последние заданы для группы элементов, на которой находится текущий элемент, его размеры будут привязаны не к самой форме, а к элементу группы. Без такого условия, невозможно было бы использовать MaxWidth и MaxHeight для форм со сложным расположением элементов.
- Hint (всплывающая подсказка) -- определяет текст всплывающей подсказки при наведении курсора мыши на элемент. Если свойство не задано (пустая строка), подсказка не будет выводиться.
- AttachedButtons (связанные элементы) -- задает связанные элементы (доп. кнопки) выведенные в заголок списка (либо в другое место списка, в зависимости от установок). Для описания редактора связанных элементов см. следующую статью.
- Закладка Данные:
- Name (наименование) -- задает наименование элемента, с помощью которого к нему можно будет обращаться из программных модулей. Если свойства элемента не будут изменяться программно, наименование можно оставить пустым.
- Folders (режим отображения папок) -- задает режим отображения папок при выводе справочников, содержащих папки, в список. Доступны следующие режимы отображения:
- Отображать в общей структуре -- Папки будут отображаться в общем списке с обычным элементами.
- Отображать вверху списка -- Папки будут отображаться до обычных элементов.
- Не отображать -- Папки не будут выведены в список.
- Отображать только папки -- В список будут выведны только папки.
- DBSource (привязка к данных базы данных) -- задает привязку данного дерева к сточным частям текущего объекта или свободным объектам базы данных. В зависимости от типа некоторые свойства дерева могут быть автоматически изменены. См. Редактор типов данных.
- Filters (начальные фильтры объекта) -- задает начальные фильтры дерева, если оно связано с базой данных. Для описания редактора фильтров см. следующую статью.
- InitialSortString (начальная установка сортировки) -- задает установку сортировки дерева, если оно связано с базой данных. Для описания редактора установки сортировки см. следующую статью.
- ArePeriodicalsIncudedInQuery (режим включения в запрос периодических реквизитов) -- задает режим, который автоматически загружает периодические реквизиты, при загрузке объектов в дерево. Обычно периодические реквизиты не загружаются, так как их загрузка связана с дополнительной нагрузкой на базу данных и увеличением времени обновления дерева, однако, если периодические реквизиты используются при информации в ветки дерева (к примеру, в событии OnInitLeaf), этот режим будет ускорять загрузку.
- IsDBAutoUpdate (режим автоматического обновления) -- задает режим, когда дерево будет периодически обновляться из базы данных. Период обновления по умолчанию задан в установках проекта. Такие режимы нужно использовать с осторожностью, так как они увеличивают нагрузку на базу данных и сеть, при этом большинство обновлений будет бесполезным. Вместо таких режимов, можно, к примеру, использовать функцию BroadcastDBUpdate, после выполнения изменений в важной таблице, за которой ведет наблюдения группа операторов.
- IsDefaultControl (основной табличный элемент - источник выбора) -- установка указывает на то, что дерево представляет основной список текущих объектов и используется как источник выбора (при открытии формы в режиме выбора), либо для начальной фильтрации или позиционирования (при открытии родительского справочника или подобных операций, система автоматически передает начальный фильтр в форму и она должна знать, в какую таблицу передавать такой фильтр). Установка должна быть активна только для одного табличного элемента формы.
- IsDisabledNoParent (контроль наличия справочника-родителя) -- установка автоматически делает дерево недоступным, если оно отображает элементы справочников, имеющие родителей (см. Объект базы данных), которые обычно фильтруются по указанному элементу родителю, и родитель не задан. Когда родитель задан (автоматически или программно с помощью ParentElement), запрет редактирования автоматически снимается. Установка дана для удобства, чтобы не проверять наличие родителя программно.
- doLoadFully (полная загрузка дерева) -- установка форсирует загрузку полного дерева папок (иначе элементы будут запрашиваться по мере открытия папок). Это уменьшает нагрузку на базу данных для небольших справочников. Запрос будет выполнен один раз в момент заполнения дерева, а не каждый раз, когда пользователь открывает новую ветку, однако, для больших справочников, такая первая загрузка может выполняться очень долго, в таком случае, не стоит использовать этот режим.
- IfNotInSettings (не сохраняется в установках формы) -- задает режим, когда при сохранении установок (состояния) формы, состояние данного элемента не будет записано совместно с состоянием других элементов. При чтении установок, этот элемент будет всегда иметь значение по умолчанию. Такой флаг удобно устанавливать, к примеру, для таблиц, содержащих расчетную информацию.
- HotKey (комбинация клавиш для активации элемента) -- задает комбинация клавиш для мгновенной активации элемента. Для описания редактора горячих клавиш см. следующую статью.
- Закладка События предоставляет доступ к следующим событиям (см. Визуальные события):
- OnEnter -- событие, возникающее при активации списка (получения курсора).
- OnExit -- событие, возникающее при деактивации списка (потери курсора).
- OnLeafChecking -- событие, возникающее в момент (до изменения) установки или снятия пометки (галочки) в ветке дерева.
- OnChangeOrClick -- событие, возникающее при визуальном изменении (перемещении курсора) дерева.
- OnDoubleClick -- событие, возникающее при двойном клике по ветке дерева мышью.
- OnRightClick -- событие, возникающее при правом клике по ветке дерева мышью.
- OnKeyPress -- событие, возникающее при нажатии на клавишу, когда дерево активно.
- OnAttachedButtons -- событие, возникающее при нажатии на связанный элемент (кнопку).
- OnInitLeaf -- событие, вызываемое для начальной инициализации ветки дерева. В этот момент можно изменить свойства ветки, добавить флажок, изменить цвет текста и пр.
Дополнительная информация: