1.8.15. TbtkScriptControllerObject¶
-
class
TbtkScriptControllerObject
¶ Класс реализующий интерфейс взаимодействия с выборой посредством GUI контрола.
-
ShowEditor
()¶ Метод позволяет отобразить редактор в списке или дереве в текущей ячейке.
-
Repaint
()¶ Функция выполняет перерисовку GUI за который отвечает контролер. Например, при изменении свойства Mandatory у атрибута, необходимо выполнить
Repaint
, чтобы изменения отобразились на экране.
-
Text
: TbtkScriptTextViewObject¶ Свойство возвращает объект, инкапсулирующий API для работы с выделением текста и управления курсором в редакторах.
Поддержка данных API реализована в следующих редакторах: - Script editor - HTML editor - Text View
Return type: TbtkScriptTextViewObject New in version BtkRuntime: 5.4.0.3582 ms 1
<pascal> if Assigned(Selection.Controller.Text) then Selection.Controller.Text.TopLine := 50; </pascal>
-
SetFocus
()¶ Перевод фокуса ввода на оконный элемент выборки.
-
ClientFilter
: TbtkScriptClientFilterObject¶ Ссылка на объект
TbtkScriptClientFilterObject
, через который осуществляется управление клиентским фильтромReturn type: TbtkScriptClientFilterObject
-
1.8.15.1. Drag & Drop¶
-
DragObject
: Interface¶ Свойство возращает источник, который инициировал перетаскивание, тип источника
TbtkScriptSelectionObject
. Перед использованиемController.DragObject
следует проверить его с использованием функцииAssigned
. Использовать данное свойство можно из операций-тригеровonDragOver
иonDragDrop
. onDragOver вызывается при перемещении указателя в в состоянии «перетаскивание».onDragDrop
– вызывается в момент «бросания» перетаскиваемого объекта.Return type: Interface // Для возможности перетаскивания объектов между списками и деревьями. В // каждую выборку участвующие в перетаскивание записей следует добавить // опрерации: onCanStartDrag, onDragOver, OnDragDrop. // Пример операции onCanStartDrag: <pascal> Selection.Controller.BeginDrag(false, 8); </pascal> // onDragOver: <pascal> SelObj := Selection.Controller.DragObject; if Assigned(SelObj) and (SelObj.representation <> Selection.Representation) then Selection.Controller.AcceptDragObject := true else Selection.Controller.AcceptDragObject := false; </pascal> // onDragDrop: <pascal> sel := selection.Controller.DragObject; ShowMessage(Sel.EntityName + '.' + Sel.Representation); </pascal>
-
DragRecord
: TbtkScriptRecordObject¶ Ссылка на обёртку записи списка или дерева, либо элемента диаграммы, над которой находится курсор мыши. Свойство следует использовать в операциях–триггерах onDragDrop и onDragOver.
Note
Для диаграммы возвращается обёртка на запись выборки SEL_BTD_OBJECT.OBJECTSOFDIAGRAM. При этом доступно только поле с именем id.
Для дерева и списка все поля возвращаемой записи соответствуют полям записи их выборки.
New in version 5.4.0.3745: Возможность перетаскивания на диаграмму.
Return type: TbtkScriptRecordObject
-
AcceptDragObject
: Boolean¶ Свойство определяет возможноть «принятия» перетаскиваемого объекта объектом, над которым находится указатель мыши. Использовать данное свойство следует использовать в операции – триггере
onDragOver
, которая вызывается автоматически при перемещении указателя в режиме «перетаскивание».Return type: Boolean // Для возможности перетаскивания объектов между списками и деревьями. В // каждую выборку участвующие в перетаскивание записей следует добавить // опрерации: onCanStartDrag, onDragOver, OnDragDrop. // Пример операции onCanStartDrag: <pascal> Selection.Controller.BeginDrag(false, 8); </pascal> // onDragOver: <pascal> SelObj := Selection.Controller.DragObject; if Assigned(SelObj) and (SelObj.representation <> Selection.Representation) then Selection.Controller.AcceptDragObject := true else Selection.Controller.AcceptDragObject := false; </pascal> // onDragDrop: <pascal> sel := selection.Controller.DragObject; ShowMessage(Sel.EntityName + '.' + Sel.Representation); </pascal>
-
SetDropAsChild
(Value: Boolean)¶ Метод можно использовать в операции
OnDragDrop
, в случае если используется режим автоматического переноса записей (DragAndDropRows.AutoDropTo
) то с помощью этого метода можно определить как перенести запись, как потомка относительно записи на которую перетаскиваем, или на тот же уровень. Метод действует только на один перенос, после чего значение DropAsChild сбрасывается (вызов надо делать перед каждым бросанием). По умолчанию запаись перемещается в список потомков.Parameters: Value (Boolean) – Новое значение для параметра DropAsChild.
-
BeginDrag
(Immediate: Boolean; Threshold: Integer)¶ Процедура запускает перетаскивание объекта на котором удерживается нажатый указатель мыши. Перетаскивать можно записи со списков и деревьев на списки и деревья. Данную процедуру следуют использовать из операции триггера
onCanDragObject
, если свойство фреймаDragAndDropRows.DragMode
равно dmManual ОперацияonCanStartDrag
вызывается автоматически, если режим перетаскивания установлен как ручной.Parameters: - Immediate (Boolean) – Если данный параметр установлен в True, то режим перетаскивания будет включен не замедлительно, сразу по нажатию на кнопку мыши, иначе режим перетаскивания включится только после смещение указателя на кол-во пикселей указанное в параметре Threshold.
- Threshold (Integer) – Количество пикселей, на которое необходимо сдвинуть, чтобы началось перетаскивание объекта.
-
1.8.15.2. Выделение (Depracated)¶
-
SelectedText
: String¶ Позволяет получить выделенный текст и заменить в текущем сфокусированном одно-строчном либо много-строчном графическом редакторе. Если выделение отсутствует тогда при присвоении свойства происходит вставка в место установки курсора.
Return type: String Deprecated since version BtkRuntime: 5.4.0.3582 ms 1
-
SelectionLength
: Integer¶ Длина выделенного текста в символах в текущем сфокусированном одно-строчном либо много-строчном графическом элементе ввода кроме HTML редактора.
Return type: Integer Deprecated since version BtkRuntime: 5.4.0.3582 ms 1
-
SelectionStart
: Integer¶ Порядковый номер первого символа выделенного текста в текущем сфокусированном одно-строчном либо много-строчном графическом элементе ввода кроме HTML редактора. Нумерация идет с 1.
Return type: Integer Deprecated since version BtkRuntime: 5.4.0.3582 ms 1
-
1.8.15.3. Итоги¶
-
FieldAddSummaryT
(SummaryType: TSummaryType; FieldName: String)¶ Метод добавляет итоги для колонки транспонированного списка.
Parameters: - SummaryType (TSummaryType) – Тип итогов.
- FieldName (String) – Имя атрибута выборки.
-
FieldExAddGroupSummaryT
(SummaryType: TSummaryType; FieldName: String)¶ Метод добавляет итоги для колонок транспонированного списка из области группировки.
Parameters: - SummaryType (TSummaryType) – Тип итогов.
- FieldName (String) – Имя атрибута выборки.
-
ClearSummary
()¶ Скрывает итоги у всех столбцов
-
ClearGroupSummary
()¶ Скрывает итоги у всех столбцов группировки
-
FieldAddSummary
(SummaryType: TSummaryType; FieldName: String)¶ Метод добавляет итоги для колонки.
Parameters: - SummaryType (TSummaryType) – Тип итогов.
- FieldName (String) – Имя атрибута выборки.
-
FieldAddGroupSummary
(SummaryType: TSummaryType; FieldName: String)¶ Метод добавляет итоги для колонок из области группировки.
Parameters: - SummaryType (TSummaryType) – AFieldName
- FieldName (String) – Имя атрибута выборки.
-
GetSummary
(AttrName: String; SummaryType: TSummaryType): Integer¶ Метод возвращет итоги для колонки списка с именем AttrName. Метод работает только с полностью прогруженным списком. Для частично прогруженного списка следует воспльзоваться свойством
Selection.Partitioned
.Parameters: - AttrName (String) – Имя атрибута.
- SummaryType (TSummaryType) – Тип итогов.
Return type: Integer
Управляет видимостью области итогов
Return type: Boolean <pascal> c := selection.controller; if c.GroupFootersVisible = true then c.GroupFootersVisible := false else begin c.GroupFootersVisible := true; c := selection.controller; c.FieldAddSummary(ctSummarySum,'nRegnumber'); c.FieldAddSummary(ctSummaryCount,'nRegdata'); c.FieldAddGroupSummary(ctSummaryCount,'nRegnumber'); c.FieldAddGroupSummary(ctSummarySum,'nRegdata'); end; </pascal>
Управляет видимостью области итогов для группирвки.
Return type: Integer <pascal> c := selection.controller; if c.GroupFootersVisible = true then c.GroupFootersVisible := false else begin c.GroupFootersVisible := true; c := selection.controller; c.FieldAddSummary(ctSummarySum,'nRegnumber'); c.FieldAddSummary(ctSummaryCount,'nRegdata'); c.FieldAddGroupSummary(ctSummaryCount,'nRegnumber'); c.FieldAddGroupSummary(ctSummarySum,'nRegdata'); end; </pascal>
Deprecated since version Global_5.9.0_ms_16.
-
GroupSummaryVisible
: Boolean¶ Управляет видимостью промежуточных итогов.
Return type: boolean New in version Global_5.9.0_ms_16.
Управляет отображением футера группировки.
Return type: TbtkGroupFootersMode New in version Global_5.9.0_ms_16.
See also
Свойство фрейма
GroupFootersMode
-
GroupSummaryPosition
: TbtkGroupSummaryPosition¶ Управляет положением промежуточных итогов.
Return type: TbtkGroupSummaryPosition New in version Global_5.9.0_ms_16.
See also
Свойство фрейма
GroupSummaryPosition
-
1.8.15.4. Группировка¶
-
GroupsFullCollaps
()¶ Метод схлопывает все узлы группировок, а также выключает свойство
GroupsFullExpand
.See also
- Свойство фрейма
GroupsFullExpand
CollapseGroups()
- Свойство фрейма
-
CollapseGroups
()¶ Метод схлопывает все узлы группировок.
See also
New in version Global_5.11.0_ms2.
-
GroupsAddField
(FieldName: String)¶ Метод добавляет атрибут с именем FieldName в область группировки. (Атрибут становится не видимым в списке)
Parameters: FieldName (String) – имя атрибута выборки
-
GroupsRemoveField
(FieldName: String)¶ Метод удаляет атрибут с именем FieldName из область группировки. (Атрибут становится видимым в списке)
Parameters: FieldName (String) – имя атрибута выборки
-
GroupsCount
(): Integer¶ Метод возвращает количество атрибутов в области группировки
Return type: Integer
-
GroupsGetIndex
(FieldName: String): Integer¶ Метод возвращает порядковый номер атрибута в области группировки. Если атрибут не в обрасти группировки, метод вернёт -1
Parameters: FieldName (String) – имя атрибута выборки Return type: Integer
-
GroupsFullExpand
()¶ Метод раскрывает все узлы группировок, а также включает свойство
GroupsFullExpand
.See also
- Свойство фрейма
GroupsFullExpand
ExpandGroups()
- Свойство фрейма
-
ExpandGroups
()¶ Метод разворачивает все узлы группировок.
See also
New in version Global_5.11.0_ms2.
-
GroupsClear
()¶ Метод удаляет все атрибуты из области группировки.
-
GroupsVisible
: Boolean¶ Свойство управляет видимостью области группировки.
Return type: Boolean <pascal> If Assigned(Selection.Controller) then begin Selection.Controller.GroupsVisible := True; Selection.Controller.GroupsAddField('sCaption'); Selection.Controller.GroupsAddField('sSystemName'); Selection.Controller.GroupsFullExpand; end; c := selection.controller; c.FieldAddSummary(ctSummarySum,'nRegnumber'); c.FieldAddSummary(ctSummaryCount,'nRegdata'); c.FieldAddGroupSummary(ctSummaryCount,'nRegnumber'); c.FieldAddGroupSummary(ctSummarySum,'nRegdata'); </pascal>
-
1.8.15.5. Списочный вид¶
-
SetDecimalNumbers
(FieldName: String; DigCount: Integer)¶ Устанавливает для атрибута количество отображаемых знаков после запятой.
Parameters: - FieldName (String) – Имя атрибута выборки.
- DigCount (Integer) – Количество знаков после запятой.
-
SetDecimalNumbersToAll
(DigCount: Integer)¶ Устанавливает для всех атрибутов количество отображаемых знаков после запятой.
Parameters: DigCount (Integer) – Количество знаков после запятой.
-
FixColumn
(FieldName: String; Position: Boolean)¶ Метод, позволяющий зафиксировать колонку в гриде из скрипта
Parameters: - FieldName (String) – имя атрибута
- Position (Boolean) –
позиция фиксации
- True
- влево
- False
- вправо
-
ColumnAutoSize
: Boolean¶ Управляет автоматическим размещением колонок на всю ширину грида, или дерева.
Return type: Boolean
-
ApplyBestColumnSize
()¶ Функциональность метода идентична пункту выпадающего меню “Подобрать ширину колонкам”. Метод распространяется на дерево, Grid и TransposeGrid.
-
Hints
: TbtkScriptHintController¶ Котроллер управления всплывающими подсказками.
Return type: TbtkScriptHintController
-
1.8.15.6. Команды¶
-
QueryCommandEnabled
(CmdId: String): Boolean¶ Метод проверяет доступна ли GUI-команда в данный момент.
See also
Parameters: CmdId (String) – Наименование команды. Например: ‘Copy’, ‘Paste’, ‘SelectAll’ и т.д. Return type: Boolean Deprecated since version BtkRuntime: 5.3.0.3507 ms 6
-
ExecCommand
(CmdId: String; ShowInUI: Boolean; Value: Variant=null): Boolean¶ Выполняет команду доступную пользователю через GUI контроллера данной выборки.
Команды - это ядровой функционал GUI-контроллера выборки, как правило, операции вынесенные на встроенные во врейм панели управления.
See also
Parameters: - CmdId (String) – Наименование команды. Например: ‘Copy’, ‘Paste’, ‘SelectAll’ и т.д.
- ShowInUI (Boolean) – Будет ли использоваться во время выполнения команды взоимодействие с пользователем. Параметр может использоваться некоторыми командами.
- Value (Variant) –
Значение принимаемое некоторыми командами, как правло они ассоциированными со значением, а не действием.
Например:
ExecCommand('FontName', False, 'Times New Roman')
Return type: Boolean
Deprecated since version BtkRuntime: 5.3.0.3507 ms 6
-
QueryCommandSupported
(CmdId: String): Boolean¶ Метод проверяет существует ли указанная GUI-команда в данном интерфейсе.
See also
Parameters: CmdId (String) – Наименование команды. Например: ‘Copy’, ‘Paste’, ‘SelectAll’ и т.д. Return type: Boolean Deprecated since version BtkRuntime: 5.3.0.3507 ms 6
-
QueryCommandValue
(CmdId: String): Variant¶ Метод возвращает значение ассоциированное с командой, если команда поддерживает значение. В противном случае, если не поддерживает (команда только выполняемая), - возвращается значение False.
Например:
QueryCommandValue('FontName')
See also
Parameters: CmdId (String) – Наименование команды. Например: ‘Copy’, ‘Paste’, ‘SelectAll’ и т.д. Return type: Variant Deprecated since version BtkRuntime: 5.3.0.3507 ms 6
-
1.8.15.7. Навигация по контролу¶
-
VisibleElementCount
(): Integer¶ Количество видимых элементов (для списочных фреймов - строк) контрола на экране с учетом сортировок и фильтрации.
Return type: Integer New in version Global_5.5.0.3887_ms6.
-
IsEmpty
(): Boolean¶ Проверяет отсутствие в контроле элементов (для списочных фреймов - строк) для вывода на экран.
Return type: Boolean Note
Метод вернет True, если все записи будут отфильтрованы клиентским автофильтром.
New in version Global_5.5.0.3887_ms6.
-
IsLast
(): Boolean¶ Проверяет является ли текущий элемент (для списочных фреймов - строка) последним в порядке вывода на экран с учетом сортировок и фильтрации.
Return type: Boolean New in version Global_5.5.0.3887_ms6.
-
Last
()¶ Перейти к последнему элементу. Для списочных контролов к последней строке в порядке вывода на экран с учетом сортировок и фильтрации.
New in version Global_5.5.0.3887_ms6.
-
First
()¶ Перейти к первому элементу. Для списочных контролов к первой строке в порядке вывода на экран с учетом сортировок и фильтрации.
See also
New in version Global_5.5.0.3887_ms6.
-
Prior
()¶ Перейти к предыдущему элементу. Для списочных контролов к предущей строке в порядке вывода на экран с учетом сортировок и фильтрации.
New in version Global_5.5.0.3887_ms6.
-
Next
()¶
Перейти к следующему элементу. Для списочных контролов к следующей строке в порядке вывода на экран с учетом сортировок и фильтрации.
See also
New in version Global_5.5.0.3887_ms6.
-
1.8.15.8. Выделение записей¶
-
GetSelectedRecords
(): Variant¶ Возвращает выделенные записи.
Tip
В паре с
SetSelectedRecords()
может использоваться для сохранения выделения в операциях приводящих к его сбрасыванию.Return type: Variant Returns: Массив идентификаторов выделенных записей. New in version Global_5.9.0_ms13.
-
SetSelectedRecords(RecordsToSelect: Variant);
Выделяет указанные записи.
Tip
В паре с
GetSelectedRecords()
может использоваться для сохранения выделения в операциях приводящих к его сбрасыванию.Parameters: RecordsToSelect (Variant) – Массив идентификаторов записей для выделения. New in version Global_5.9.0_ms13.
-
1.8.15.9. Перемещение записей¶
-
MoveRecordsUp
(RecordsToMove: Variant)¶ Перемещает указанные записи вверх.
В дереве записи перемещаются исходя из положения видимых узлов, а не их следования в выборке. Узлы перемещаются независимо друг от друга, но сохраняют относительно друг друга порядок. То есть если один из узлов перемещать выше нельзя (например он верхний в родительском), а остальные можно, остальные будут перемещены. При этом следующие узлы не перемещаются выше других перемещаемых узлов. Перемещаемые узлы могут принадлежать разным родителям, а также быть вложенными друг в друга.
Attention
Записи перемещаются только на стороне клиента. Согласованние порядка записей в клиенте и на сервере, должно обеспечиваться на прикладном уровне.
Parameters: RecordsToMove (Variant) – Идентификаторы перемещаемых записей. Может принимать как одно значение, так и массив. Каждому передаваемому значению обязательно должна соответствовать запись. New in version Global_5.9.0_ms13.
-
MoveRecordsDown
(RecordsToMove: Variant)¶ Перемещает указанные записи вниз.
В дереве записи перемещаются исходя из положения видимых узлов, а не их следования в выборке. Узлы перемещаются независимо друг от друга, но сохраняют относительно друг друга порядок. То есть если один из узлов перемещать ниже нельзя (например он нижний в родительском), а остальные можно, остальные будут перемещены. При этом следующие узлы не перемещаются ниже других перемещаемых узлов. Перемещаемые узлы могут принадлежать разным родителям, а также быть вложенными друг в друга.
Parameters: RecordsToMove (Variant) – Идентификаторы перемещаемых записей. Может принимать как одно значение, так и массив. Каждому передаваемому значению обязательно должна соответствовать запись. Attention
Записи перемещаются только на стороне клиента. Согласованние порядка записей в клиенте и на сервере, должно обеспечиваться на прикладном уровне.
New in version Global_5.9.0_ms13.
-
MoveRecordsLeft
(RecordsToMove: Variant)¶ Перемещает указанные записи влево.
В дереве записи перемещаются исходя из положения видимых узлов а не их следования в выборке. Узлы перемещаются в родительский узел своего родителя, то есть выносятся на один уровень со своим текущим родителем. При этом перемещаемые узлы размещаются сразу за своим бывшим родительским узлом. Узлы принадлежащие одному родителю сохраняют относительно друг друга порядок. Если у текущего родителя отсутствует свой родитель, узлы перемещаться не будут. Если перемещается несколько узлов из разных родителей, то новый родитель для каждой группы узлов определяется до начала перемещения. Перемещаемые узлы могут принадлежать разным родителям, а также быть вложенными друг в друга.
Parameters: RecordsToMove (Variant) – Идентификаторы перемещаемых записей. Может принимать как одно значение, так и массив. Каждому передаваемому значению обязательно должна соответствовать запись. Attention
Записи перемещаются только на стороне клиента. Согласованние порядка записей в клиенте и на сервере, должно обеспечиваться на прикладном уровне.
New in version Global_5.9.0_ms13.
-
MoveRecordsRight
(RecordsToMove: Variant)¶ Перемещает указанные записи вправо.
В дереве записи перемещаются исходя из положения видимых узлов а не их следования в выборке. Узлы перемещаются в узел им предшествующий, то есть этот узел станет их новым родительским узлом. При этом перемещаемые узлы размещаются в конце родительского. Непрерывные группы узлов принадлежащие одному родителю перемещаются в общего родителя, сохраняя свой порядок относительно друг друга. Если нового родителя нету, узлы не перемещаются. Если новый родитель есть то при перемещении он разворачивается. Перемещаемые узлы могут принадлежать разным родителям, а также быть вложенными друг в друга.
Parameters: RecordsToMove (Variant) – Идентификаторы перемещаемых записей. Может принимать как одно значение, так и массив. Каждому передаваемому значению обязательно должна соответствовать запись. Attention
Записи перемещаются только на стороне клиента. Согласованние порядка записей в клиенте и на сервере, должно обеспечиваться на прикладном уровне.
New in version Global_5.9.0_ms13.
-
1.8.15.10. TSummaryType¶
-
class
TSummaryType
¶ Перечисление. Способы вычисления итогов полей данных.
-
ctNoSummary
¶ Без итогов.
-
ctSummaryCount
¶ Количество значений.
-
ctSummarySum
¶ Сумма всех числовых значений.
-
ctSummaryMax
¶ Наибольшее значение.
-
ctSummaryMin
¶ Наименьшее значение.
-
ctSummaryAvg
¶ Среднее арифметическое для всех числовых значений.
-