FGX.CollectionView.TfgCollectionViewSelectionController: различия между версиями
Admin (обсуждение | вклад) (summary) |
Admin (обсуждение | вклад) (summary) |
||
Строка 76: | Строка 76: | ||
<p>Режим выделения элементов.</p> | <p>Режим выделения элементов.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code> | + | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>CollectionView: [[FGX.CollectionView.TfgCustomCollectionView|TfgCustomCollectionView]]</code> |
<p>Ссылка на список, с которым работает контроллер.</p> | <p>Ссылка на список, с которым работает контроллер.</p> | ||
|} | |} |
Версия 03:09, 30 декабря 2019
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
|
CollectionView: TfgCustomCollectionView
Ссылка на список, с которым работает контроллер. |
Константы
const
|
DefaultSelectionMode: TfgCollectionViewSelectionMode
Описание отсутствует. |