FGX.CollectionView.TfgCollectionViewSelectionController: различия между версиями

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
 
Строка 75: Строка 75:
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Mode: [[FGX.CollectionView.TfgCollectionViewSelectionMode|TfgCollectionViewSelectionMode]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Mode: [[FGX.CollectionView.TfgCollectionViewSelectionMode|TfgCollectionViewSelectionMode]]</code>
 
<p>Режим выделения элементов.</p>
 
<p>Режим выделения элементов.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>AlwaysSelectItem: [[Boolean]]</code>
 +
<p>Требуется ли сохранять выделение хотя бы одного элемента?</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>CollectionView: [[FGX.CollectionView.TfgCustomCollectionView|TfgCustomCollectionView]]</code>
 
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>CollectionView: [[FGX.CollectionView.TfgCustomCollectionView|TfgCustomCollectionView]]</code>
 
<p>Ссылка на список, с которым работает контроллер.</p>
 
<p>Ссылка на список, с которым работает контроллер.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>SelectionCount: [[Integer]]</code>
 +
<p>Количество выделенных элементов списка.</p>
 
|}
 
|}
  
Строка 85: Строка 91:
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultSelectionMode: [[FGX.CollectionView.TfgCollectionViewSelectionMode|TfgCollectionViewSelectionMode]]</code>
 
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultSelectionMode: [[FGX.CollectionView.TfgCollectionViewSelectionMode|TfgCollectionViewSelectionMode]]</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultAlwaysSelectItem: [[Boolean]]</code>
 
<span style="color:gray">Описание отсутствует.</span>
 
<span style="color:gray">Описание отсутствует.</span>
 
|}
 
|}

Текущая версия на 17:16, 23 декабря 2022

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

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