TbtkScriptControllerObject

class TbtkScriptControllerObject

Класс реализующий интерфейс взаимодействия с выборой посредством GUI контрола.

ShowEditor()

Метод позволяет отобразить редактор в списке или дереве в текущей ячейке.

Warning

Не реализовано

Repaint()

Функция выполняет перерисовку GUI за который отвечает контроллер. Например, при изменении свойства Mandatory у атрибута, необходимо выполнить Repaint, чтобы изменения отобразились на экране.

Warning

Не поддерживается в Application Server

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>

Warning

Не поддерживается в Application Server

SetFocus()

Перевод фокуса ввода на оконный элемент выборки.

Warning

Не поддерживается в Application Server

ClientFilter TbtkScriptClientFilterObject

Ссылка на объект TbtkScriptClientFilterObject, через который осуществляется управление клиентским фильтром

Return type:

TbtkScriptClientFilterObject

Warning

Не поддерживается в Application Server

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.

Для дерева и списка все поля возвращаемой записи соответствуют полям записи их выборки.

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.

Warning

Не реализовано

BeginDrag(Immediate: Boolean; Threshold: Integer)

Процедура запускает перетаскивание объекта на котором удерживается нажатый указатель мыши. Перетаскивать можно записи со списков и деревьев на списки и деревья. Данную процедуру следует использовать из операции триггера onCanDragObject, если свойство фрейма DragAndDropRows.DragMode равно dmManual Операция onCanStartDrag вызывается автоматически, если режим перетаскивания установлен как ручной.

Parameters:
  • Immediate (Boolean) – Если данный параметр установлен в True, то режим перетаскивания будет включен не замедлительно, сразу по нажатию на кнопку мыши, иначе режим перетаскивания включится только после смещение указателя на кол-во пикселей указанное в параметре Threshold.

  • Threshold (Integer) – Количество пикселей, на которое необходимо сдвинуть, чтобы началось перетаскивание объекта.

Warning

Не реализовано

Выделение (Deprecated)

SelectedText String

Позволяет получить выделенный текст и заменить в текущем сфокусированном однострочном либо многострочном графическом редакторе. Если выделение отсутствует тогда при присвоении свойства происходит вставка в место установки курсора.

Return type:

String

Deprecated since version Устарело.

Warning

Не реализовано

SelectionLength Integer

Длина выделенного текста в символах в текущем сфокусированном однострочном либо многострочном графическом элементе ввода кроме HTML редактора.

Return type:

Integer

Deprecated since version Устарело.

Warning

Не реализовано

SelectionStart Integer

Порядковый номер первого символа выделенного текста в текущем сфокусированном однострочном либо многострочном графическом элементе ввода кроме HTML редактора. Нумерация идет с 1.

Return type:

Integer

Deprecated since version Устарело.

Warning

Не реализовано

Итоги

FieldAddSummaryT(SummaryType: TSummaryType; FieldName: String)

Метод добавляет итоги для колонки транспонированного списка.

Parameters:
  • SummaryType (TSummaryType) – Тип итогов.

  • FieldName (String) – Имя атрибута выборки.

Warning

Не реализовано

FieldExAddGroupSummaryT(SummaryType: TSummaryType; FieldName: String)

Метод добавляет итоги для колонок транспонированного списка из области группировки.

Parameters:
  • SummaryType (TSummaryType) – Тип итогов.

  • FieldName (String) – Имя атрибута выборки.

Warning

Не реализовано

ClearSummary()

Скрывает итоги у всех столбцов

ClearGroupSummary()

Скрывает итоги у всех столбцов группировки

Warning

Не реализовано

FieldAddSummary(SummaryType: TSummaryType; FieldName: String)

Метод добавляет итоги для колонки.

Parameters:
  • SummaryType (TSummaryType) – Тип итогов.

  • FieldName (String) – Имя атрибута выборки.

FieldAddGroupSummary(SummaryType: TSummaryType; FieldName: String)

Метод добавляет итоги для колонок из области группировки.

Parameters:
  • SummaryType (TSummaryType) – AFieldName

  • FieldName (String) – Имя атрибута выборки.

Warning

Не реализовано

GetSummary(AttrName: String; SummaryType: TSummaryType) Integer

Метод возвращает итоги для колонки списка с именем AttrName. Метод работает только с полностью прогруженным списком. Для частично прогруженного списка следует воспльзоваться свойством Selection.Partitioned.

Parameters:
  • AttrName (String) – Имя атрибута.

  • SummaryType (TSummaryType) – Тип итогов.

Return type:

Integer

Warning

Не реализовано

FooterVisible Boolean

Управляет видимостью области итогов

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>
GroupFootersVisible Integer

Управляет видимостью области итогов для группирвки.

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 Устарел.

Warning

Не реализовано

GroupSummaryVisible Boolean

Управляет видимостью промежуточных итогов.

Return type:

boolean

Warning

Не поддерживается в Application Server

GroupFootersMode TbtkGroupFootersMode

Управляет отображением футера группировки.

Return type:

TbtkGroupFootersMode

See also

Свойство фрейма GroupFootersMode

Warning

Не поддерживается в Application Server

GroupSummaryPosition TbtkGroupSummaryPosition

Управляет положением промежуточных итогов.

Return type:

TbtkGroupSummaryPosition

See also

Свойство фрейма GroupSummaryPosition

Warning

Не поддерживается в Application Server

Группировка

GroupsFullCollaps()

Метод схлопывает все узлы группировок, а также выключает свойство GroupsFullExpand.

See also

CollapseGroups()

Метод схлопывает все узлы группировок.

Warning

Не поддерживается в Application Server

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

ExpandGroups()

Метод разворачивает все узлы группировок.

Warning

Не поддерживается в Application Server

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>

Списочный вид

SetDecimalNumbers(FieldName: String; DigCount: Integer)

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

Parameters:
  • FieldName (String) – Имя атрибута выборки.

  • DigCount (Integer) – Количество знаков после запятой.

Warning

Не реализовано

SetDecimalNumbersToAll(DigCount: Integer)

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

Parameters:

DigCount (Integer) – Количество знаков после запятой.

Warning

Не реализовано

FixColumn(FieldName: String; Position: Boolean)

Метод, позволяющий зафиксировать колонку в гриде из скрипта

Parameters:
  • FieldName (String) – имя атрибута

  • Position (Boolean) –

    позиция фиксации

    True

    влево

    False

    вправо

Warning

Не реализовано

ColumnAutoSize Boolean

Управляет автоматическим размещением колонок на всю ширину грида, или дерева.

Return type:

Boolean

Warning

Не реализовано

ApplyBestColumnSize()

Функциональность метода идентична пункту выпадающего меню “Подобрать ширину колонкам”. Метод распространяется на дерево, Grid и TransposeGrid.

Hints TbtkScriptHintController

Контроллер управления всплывающими подсказками.

Return type:

TbtkScriptHintController

Warning

Не реализовано

Команды

QueryCommandEnabled(CmdId: String) Boolean

Метод проверяет доступна ли GUI-команда в данный момент.

Parameters:

CmdId (String) – Наименование команды. Например: ‘Copy’, ‘Paste’, ‘SelectAll’ и т.д.

Return type:

Boolean

Deprecated since version Устарел.

Warning

Не поддерживается в Application Server

ExecCommand(CmdId: String; ShowInUI: Boolean; Value: Variant=null) Boolean

Выполняет команду доступную пользователю через GUI контроллера данной выборки.

Команды - это ядровой функционал GUI-контроллера выборки, как правило, операции вынесенные на встроенные во врейм панели управления.

Parameters:
  • CmdId (String) – Наименование команды. Например: ‘Copy’, ‘Paste’, ‘SelectAll’ и т.д.

  • ShowInUI (Boolean) – Будет ли использоваться во время выполнения команды взаимодействие с пользователем. Параметр может использоваться некоторыми командами.

  • Value (Variant) –

    Значение принимаемое некоторыми командами, как правло они ассоциированными со значением, а не действием.

    Например: ExecCommand('FontName', False, 'Times New Roman')

Return type:

Boolean

Deprecated since version Устарел.

Warning

Не поддерживается в Application Server

QueryCommandSupported(CmdId: String) Boolean

Метод проверяет существует ли указанная GUI-команда в данном интерфейсе.

Parameters:

CmdId (String) – Наименование команды. Например: ‘Copy’, ‘Paste’, ‘SelectAll’ и т.д.

Return type:

Boolean

Deprecated since version Устарел.

Warning

Не поддерживается в Application Server

QueryCommandValue(CmdId: String) Variant

Метод возвращает значение ассоциированное с командой, если команда поддерживает значение. В противном случае, если не поддерживает (команда только выполняемая), - возвращается значение False.

Например: QueryCommandValue('FontName')

Parameters:

CmdId (String) – Наименование команды. Например: ‘Copy’, ‘Paste’, ‘SelectAll’ и т.д.

Return type:

Variant

Deprecated since version Устарел.

Warning

Не поддерживается в Application Server

Навигация по контролу

VisibleElementCount() Integer

Количество видимых элементов (для списочных фреймов - строк) контрола на экране с учетом сортировок и фильтрации.

Return type:

Integer

Warning

Не поддерживается в Application Server

IsEmpty() Boolean

Проверяет отсутствие в контроле элементов (для списочных фреймов - строк) для вывода на экран.

Return type:

Boolean

Note

Метод вернет True, если все записи будут отфильтрованы клиентским автофильтром.

Warning

Не поддерживается в Application Server

IsLast() Boolean

Проверяет является ли текущий элемент (для списочных фреймов - строка) последним в порядке вывода на экран с учетом сортировок и фильтрации.

Return type:

Boolean

Warning

Не поддерживается в Application Server

Last()

Перейти к последнему элементу. Для списочных контролов к последней строке в порядке вывода на экран с учетом сортировок и фильтрации.

Warning

Не поддерживается в Application Server

First()

Перейти к первому элементу. Для списочных контролов к первой строке в порядке вывода на экран с учетом сортировок и фильтрации.

Warning

Не поддерживается в Application Server

Prior()

Перейти к предыдущему элементу. Для списочных контролов к предыдущей строке в порядке вывода на экран с учетом сортировок и фильтрации.

Warning

Не поддерживается в Application Server

Next()

Перейти к следующему элементу. Для списочных контролов к следующей строке в порядке вывода на экран с учетом сортировок и фильтрации.

Warning

Не поддерживается в Application Server

Выделение записей

GetSelectedRecords() Variant

Возвращает выделенные записи.

Tip

В паре с SetSelectedRecords() может использоваться для сохранения выделения в операциях приводящих к его сбрасыванию.

Return type:

Variant

Returns:

Массив идентификаторов выделенных записей.

Warning

Не поддерживается в Application Server

SetSelectedRecords(RecordsToSelect: Variant);

Выделяет указанные записи.

Tip

В паре с GetSelectedRecords() может использоваться для сохранения выделения в операциях приводящих к его сбрасыванию.

Parameters:

RecordsToSelect (Variant) – Массив идентификаторов записей для выделения.

Warning

Не поддерживается в Application Server

Перемещение записей

MoveRecordsUp(RecordsToMove: Variant)

Перемещает указанные записи вверх.

В дереве записи перемещаются исходя из положения видимых узлов, а не их следования в выборке. Узлы перемещаются независимо друг от друга, но сохраняют относительно друг друга порядок. То есть если один из узлов перемещать выше нельзя (например он верхний в родительском), а остальные можно, остальные будут перемещены. При этом следующие узлы не перемещаются выше других перемещаемых узлов. Перемещаемые узлы могут принадлежать разным родителям, а также быть вложенными друг в друга.

Attention

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

Parameters:

RecordsToMove (Variant) – Идентификаторы перемещаемых записей. Может принимать как одно значение, так и массив. Каждому передаваемому значению обязательно должна соответствовать запись.

Warning

Не поддерживается в Application Server

MoveRecordsDown(RecordsToMove: Variant)

Перемещает указанные записи вниз.

В дереве записи перемещаются исходя из положения видимых узлов, а не их следования в выборке. Узлы перемещаются независимо друг от друга, но сохраняют относительно друг друга порядок. То есть если один из узлов перемещать ниже нельзя (например он нижний в родительском), а остальные можно, остальные будут перемещены. При этом следующие узлы не перемещаются ниже других перемещаемых узлов. Перемещаемые узлы могут принадлежать разным родителям, а также быть вложенными друг в друга.

Parameters:

RecordsToMove (Variant) – Идентификаторы перемещаемых записей. Может принимать как одно значение, так и массив. Каждому передаваемому значению обязательно должна соответствовать запись.

Attention

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

Warning

Не поддерживается в Application Server

MoveRecordsLeft(RecordsToMove: Variant)

Перемещает указанные записи влево.

В дереве записи перемещаются исходя из положения видимых узлов а не их следования в выборке. Узлы перемещаются в родительский узел своего родителя, то есть выносятся на один уровень со своим текущим родителем. При этом перемещаемые узлы размещаются сразу за своим бывшим родительским узлом. Узлы принадлежащие одному родителю сохраняют относительно друг друга порядок. Если у текущего родителя отсутствует свой родитель, узлы перемещаться не будут. Если перемещается несколько узлов из разных родителей, то новый родитель для каждой группы узлов определяется до начала перемещения. Перемещаемые узлы могут принадлежать разным родителям, а также быть вложенными друг в друга.

Parameters:

RecordsToMove (Variant) – Идентификаторы перемещаемых записей. Может принимать как одно значение, так и массив. Каждому передаваемому значению обязательно должна соответствовать запись.

Attention

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

Warning

Не поддерживается в Application Server

MoveRecordsRight(RecordsToMove: Variant)

Перемещает указанные записи вправо.

В дереве записи перемещаются исходя из положения видимых узлов а не их следования в выборке. Узлы перемещаются в узел им предшествующий, то есть этот узел станет их новым родительским узлом. При этом перемещаемые узлы размещаются в конце родительского. Непрерывные группы узлов принадлежащие одному родителю перемещаются в общего родителя, сохраняя свой порядок относительно друг друга. Если нового родителя нету, узлы не перемещаются. Если новый родитель есть то при перемещении он разворачивается. Перемещаемые узлы могут принадлежать разным родителям, а также быть вложенными друг в друга.

Parameters:

RecordsToMove (Variant) – Идентификаторы перемещаемых записей. Может принимать как одно значение, так и массив. Каждому передаваемому значению обязательно должна соответствовать запись.

Attention

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

Warning

Не поддерживается в Application Server

TSummaryType

class TSummaryType

Перечисление. Способы вычисления итогов полей данных.

ctNoSummary

Без итогов.

ctSummaryCount

Количество значений.

ctSummarySum

Сумма всех числовых значений.

ctSummaryMax

Наибольшее значение.

ctSummaryMin

Наименьшее значение.

ctSummaryAvg

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

TbtkGroupFootersMode

class TbtkGroupFootersMode

Перечисление. Настройка отображения футера группы.

Warning

Не поддерживается в Application Server

gfmVisibleWhenExpanded

Отображать только для развёрнутых узлов.

gfmAlwaysVisible

Отображать для всех узлов.

TbtkGroupSummaryPosition

class TbtkGroupSummaryPosition

Перечисление. Положение промежуточных итогов.

Warning

Не поддерживается в Application Server

gspHeader

Отображать промежуточные итоги в заголовке группы.

gspFooter

Отображать промежуточные итоги в футере группы.