3.1.3.3. Список и древовидный список#
Классы фреймов:
- class btkFrame.TbtkLookUpGridFrame#
- class btkFrame.TbtkLookUpGridTabFrame#
- class btkFrame.TbtkLookUpGridTabDynamicFrame#
- class btkFrame.TbtkLookUpGridTabDynDetFrame#
- class btkFrame.TbtkLookUpTreeFrame#
- class btkFrame.TbtkLookUpTreeTabDynamicFrame#
- class btkFrame.TbtkLookUpTreeTabDynDetFrame#
- class btkFrame.TbtkLookUpTreeTabFrame#
Статьи об особенностях в функционале фреймов в AS: Список, Древовидный список
3.1.3.3.1. Свойства фреймов#
Раздел находится в разработке.
Пока описаны не все свойства.
Свойство |
Описание |
Управляет видимостью заголовка. |
|
Управляет видимостью панели управления. |
|
Управляет режимом работы автофильтра. |
3.1.3.3.2. Сортировка полей#
Поля сортируются в соответствии с порядком, указанным в свойстве их атрибута “Порядковый номер” (nOrder).
Если у поля нет атрибута, то порядковый номер = MaxInt (такие поля помещаются в конец).
Если у полей одинаковый порядковый номер, то они сортируются по алфавиту за исключением случаев, когда порядковый номер равен MaxInt.
Порядок колонок соответствует порядку полей.
Порядковый номер бэнда определяется как наименьший порядковый номер среди содержащихся в нём колонок.
Колонки, для которых не указан бэнд, объединяются в бэнд по умолчанию.
Изменение бэнда у колонки с помощью метода SetVarDesc или путём добавления к наименованию атрибута имени бэнда через “|” происходит, когда колонки уже созданы и объединены в бэнды. При этом:
Если назначенный бэнд существует, то колонка добавляется в его конец, независимо от порядкового номера. Положение бэнда при этом не пересчитывается.
Если бэнд новый, то он ставится перед самым левым бэндом с бОльшим порядковым номером, или в конец, если такого бэнда нет. Если есть другие бэнды с таким же порядковым номером, то новый бэнд помещается после них.
Тот бэнд, из которого колонка была перемещена, остаётся на месте, даже если его порядковый номер изменился.
Note
Алгоритм сортировки работает одинаково для статических и динамических полей.
3.1.3.3.2.1. Управление порядком колонок#
Обеспечить требуемый порядок колонок и бэндов при загрузке выборки можно одним из следующих способов:
Установить порядковый номер атрибутов в том же порядке, в котором должны появиться соответствующие им колонки. Для всех колонок указывать их бэнд до открытия выборки с помощью свойства GroupAttr.Band (Группы объединения).
Установить порядковый номер атрибутов в том же порядке, в котором должны появиться соответствующие им колонки. Для всех колонок указывать бэнд через вертикальную черту с помощью метода SetVarDesc. Это нужно сделать до показа колонок (например, в AfterOpen). Свойство “Группы объединения” при этом нужно оставить пустым.
Поскольку эти решения имеют разный принцип сортировки, при одновременном использовании они могут привести к неожиданным результатам.
3.1.3.3.3. Экспорт из списочных фреймов#
See also
3.1.3.3.4. Выделение нескольких записей (мультиселект)#
Во фреймах типа список и древовидный список существует возможность выбора нескольких записей (мультиселект). Изменять режим мультиселекта можно следующими способами:
При вызове списка с помощью методов
TbtkScriptSelectionObject.DoLookup
илиTbtkScriptSelectionObject.DoLookupEx
Пример включения режима мультиселект вTbtkScriptSelectionObject.DoLookupEx
#<pascal> R := DoLookupEx( '', 'SEL_TST_MultySelectFromGrid', [], [], ['id','A1'], True, //параметр отвечающий за мультиселект ['Representation'], ['Choose']); </pascal>
С помощью свойства фрейма MultiSelect. Также его значение можно передать в качестве параметра в
TbtkScriptSelectionObject.CreateFormEx
С помощью
TbtkScriptSelectionObject.SetVar
.Пример изменения режима мультиселект черезTbtkScriptSelectionObject.SetVar
#<pascal> SetVar('MultiSelect', 1); //включение SetVar('MultiSelect', 0); //отключение </pascal>
Note
При отключении режима мультиселекта выделение будет сброшено, выделенной останется запись, на которой установлен фокус.
3.1.3.3.4.1. Методы и свойства паскаль скриптера#
TbtkScriptSelectionObject.SelectedRecordsCount
Количество выделенных записей.
TbtkScriptSelectionObject.SelectedValue
Значение выделенной записи по индексу поля.
TbtkScriptSelectionObject.SelectedValuebyName
Значение выделенной записи по имени поля.
3.1.3.3.5. Всплывающие подсказки в ячейках#
Всплывающая подсказка выводится во всплывающем окне при наведении мышки на ячейку.
В зависимости от настроек, во всплывающей подсказке может выводиться текст ячейки или комментарий.
Note
Комментарий к ячейке является более приоритетным, чем подсказка при большом тексте.
3.1.3.3.5.1. Подсказка при большом тексте#
Свойство фрейма CellHint
задаёт отображение всплывающей подсказки с текстом ячейки в случаях, когда текст превышает размер ячейки (отображается не полностью).
3.1.3.3.5.2. Комментарий к ячейке#
Свойство фрейма CommentAttribute
задаёт атрибут с информацией о ячейках с комментариями.
Для работы комментариев должны быть заданы значения для атрибута ID.
3.1.3.3.5.2.1. Текст комментария#
Задаётся при помощи CommentTextAttribute
и Selection.Controller.Hints
.
3.1.3.3.5.2.2. Маркер наличия подсказки в ячейке#
Отображается в виде треугольника в верхнем правом углу ячейки.
Отображение маркера задаётся свойством фрейма
ShowHintCellMark
.Цвет маркера задаётся в значении
CommentAttribute
.
Attention
Маркер отображается только в списочных фреймах.