FGX.CollectionView.TfgCollectionViewSelectionController

Материал из FGX Native Докуметации
Версия от 17:16, 23 декабря 2022; Admin (обсуждение | вклад) (summary)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Delphi

TfgCollectionViewSelectionController = class (TObject)

TObject -> TfgCollectionViewSelectionController

Описание

Контроллер выделения элементов.

Конструкторы

constructor
Create(const ACollectionView: TfgCustomCollectionView)

Описание отсутствует.

Методы

procedure
BeginUpdate()

Информирует о том, что сейчас начнется пакетная обработка выделения. На это время оповещение нативного контрола приостанавливается и продолжится, после вызова парного метода EndUpdate .

BeginUpdate - EndUpdate учитывают количество вызовов. Поэтому методы можно вызывать несколько раз. Однако, при этом выравнивание будет вызвано, когда будут вызваны все парные EndUpdate .
procedure
EndUpdate()

Информирует контрол о том, что заканчивается пакетная обработка выделения. Если этот вызов EndUpdate является последним парным к BeginUpdate , то нативный контрол получает обновленный список выделения.

BeginUpdate - EndUpdate учитывают количество вызовов. Поэтому методы можно вызывать несколько раз. Однако, при этом выравнивание будет вызвано, когда будут вызваны все парные EndUpdate .
function
IsUpdating(): Boolean

True - если контрол находится в состоянии пакетной обработки выделения. При этом на этот период уведомление нативного контрола о изменении выделения отключается.

procedure
ResetSelection()

Сбрасывает текущее выделение всех выделенных элементов.

procedure
ResetSelectionByIndex(const AItemIndex: Integer)

Сбрасывает текущее выделение элемента с указанным индексом.

procedure
ResetSelectionById(const AItemId: Int64)

Сбрасывает текущее выделение элемента с указанным индексом.

procedure
SelectByIndex(const AItemIndex: Integer)

Выделяет элемент с указанным индексом.

Работает только, если стиль элемента поддерживает выделение TfgCollectionViewStyle.Selectable и стоит режим выделения отличный от SelectionMode != TfgCollectionViewSelectionMode.None .
procedure
RevertSelection(const AItemIndex: Integer)

Меняет состояние элемента с выделенного на не выделенный и наоборот.

Если элемент не поддерживает выделение или режим выделения равен TfgCollectionViewSelectionMode.None, то метод ничего не делает.
procedure
SelectAll()

Выделяет все элементы списка.

Работает только, если стиль элемента поддерживает выделение TfgCollectionViewStyle.Selectable и стоит режим выделения SelectionMode = TfgCollectionViewSelectionMode.MultiSelect .
procedure
Refresh()

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

Мы не чистим выделение после перезагрузки списка и берем на себя ответственность по восстановлению выделения. Однако, после перезагрузки элементы могу пропасть. Этот метод позволяет актуализировать элементы в выделении. Сложность: O(n*log(n)), где n - количество элементов в списке.
function
IsSelectedByIndex(const AItemIndex: Integer): Boolean

Возвращает True, если элемент выделен по указанному индексу.

function
IsSelectedById(const AItemId: Int64): Boolean

Возвращает True, если элемент выделен по идентификатору.

Свойства

property
Selection: [[TArray<System.Integer>]]

Массив индексов выделенных элементов.

property
Mode: TfgCollectionViewSelectionMode

Режим выделения элементов.

property
AlwaysSelectItem: Boolean

Требуется ли сохранять выделение хотя бы одного элемента?

property
CollectionView: TfgCustomCollectionView

Ссылка на список, с которым работает контроллер.

property
SelectionCount: Integer

Количество выделенных элементов списка.

Константы

const
DefaultSelectionMode: TfgCollectionViewSelectionMode

Описание отсутствует.

const
DefaultAlwaysSelectItem: Boolean

Описание отсутствует.