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

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
 
(не показано 39 промежуточных версий этого же участника)
Строка 1: Строка 1:
* [[ FGX.CollectionView | Вверх к родителю: FGX.CollectionView ]]
+
* [[ System.TObject | Вверх к родителю: TObject ]]
 +
* [[ FGX.CollectionView | К модулю: FGX.CollectionView ]]
  
 
Delphi
 
Delphi
  
<code lang="Delphi">TfgItemWrapper = class (TObject)</code>
+
<syntaxhighlight lang="Delphi">TfgItemWrapper = class (TObject)</syntaxhighlight>
 +
 
 +
<p class="class-inheritance"><span class="type-border">[[System.TObject|TObject]]</span> -> <span class="type-border">[[FGX.CollectionView.TfgItemWrapper|TfgItemWrapper]]</span></p>
  
 
== Описание ==
 
== Описание ==
  
Обертка для доступа к контролам одного элемента коллекции. Обеспечивает вспомогательные методы для быстрого поиска вложенных контролов по имени '' TfgControl.LookupName '' с кешированием.
+
<p>Обертка для доступа к контролам одного элемента коллекции. Обеспечивает вспомогательные методы для быстрого поиска вложенных контролов по имени <i>TfgControl.LookupName</i> с кешированием.</p>
 
 
 
== Конструкторы ==
 
== Конструкторы ==
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|-
 
|-
| <code>constructor</code> || <code>Create(const AItem: [[FGX.Control.TfgControl|TfgControl]]; const AData: [[.IFGXItemDataAccessor|IFGXItemDataAccessor]])</code>
+
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create(const AItem: [[FGX.CollectionView.TfgCollectionViewStyle|TfgCollectionViewStyle]]; const AData: [[FGX.CollectionView.IFGXItemDataAccessor|IFGXItemDataAccessor]])</code>
 
+
<span style="color:gray">Описание отсутствует.</span>
 
|}
 
|}
  
Строка 21: Строка 23:
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|-
 
|-
| <code lang="Delphi">function</code> || <code lang="Delphi">GetControlByLookupName(const ALookupName: [[string]])</code>
+
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">UpdateLookupNameIndex()</code>
Доступ к конкретному вложенному контролу элемента по имени '' TfgControl.LookupName '' с приведением к указанному классу '' T '' .
+
 
 +
<p>Обновляет индекс, используемый для быстрого доступа к компонентам стиля через <i>LookupName</i> .</p><div class="info"><i>TfgItemWrapper</i> формирует индекс только при создании, тем самым обеспечивая быструю работу метода <i>GetControlByLookupName</i> . Однако, кеш не обновляется автоматически при динамических изменениях структуры стиля при связывании данных. И в этом случае, если требуется, можно вызвать этот метод.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetControlByLookupName(const ALookupName: [[string]]): [[T]]</code>
 +
 
 +
<p>Доступ к конкретному вложенному контролу элемента по имени <i>TfgControl.LookupName</i> с приведением к указанному классу <i>T</i> .</p><div class="info">Если контрола с указанным именем поиска нету, то вернет nil. Если элемент с указанным именем есть, но он не подходяшего класса, то так же вернет nil.</div>
 
|-
 
|-
| <code lang="Delphi">function</code> || <code lang="Delphi">GetControlByName(const AName: [[string]])</code>
+
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetControlByName(const AName: [[string]]): [[T]]</code>
Доступ к конкретному вложенному контролу элемента по имени '' TfgControl.Name '' с приведением к указанному классу '' T '' .
+
 
 +
<p>Доступ к конкретному вложенному контролу элемента по имени <i>TfgControl.Name</i> с приведением к указанному классу <i>T</i> .</p><div class="info">Если контрола с указанным именем поиска нету, то вернет nil. Если элемент с указанным именем есть, но он не подходяшего класса, то так же вернет nil.</div>
 
|}
 
|}
  
Строка 32: Строка 40:
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|-
 
|-
| <code>property</code> || <code>Index: [[Integer]]</code>
+
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Index: [[Integer]]</code>
Порядковый индекс элемента в списке.
+
 
 +
<p>Порядковый индекс элемента в списке.</p><div class="info">При удалении из списка элемента до текущего этот индекс поменяет свое значение. Если вам важно однозначно идентифицировать элемент в биндинге, то используйте свойство <i>Id</i> для задания уникального идентификатора элементу.</div>
 
|-
 
|-
| <code>property</code> || <code>Id: [[Int64]]</code>
+
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Id: [[Int64]]</code>
Уникальный идентификатор элемента. Используется для корректного выделения элемента, при изменении списка элементов (удалении, изменении или добавлении новых).
+
 
 +
<p>Уникальный идентификатор элемента. Используется для корректного выделения элемента, при изменении списка элементов (удалении, изменении или добавлении новых).</p><div class="info">По умолчанию совпадает с индексом. Если вы планируете обновлять список одновременно с работой выделения, то необходимо каждому элементу присвоить постоянный не изменяемый идентификатор через событие <i>TfgCollectionView.OnGetItemId</i></div>
 
|-
 
|-
| <code>property</code> || <code>StyleName: [[string]]</code>
+
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>StyleName: [[string]]</code>
Название использованного стиля элемента.
+
<p>Название использованного стиля элемента.</p>
 
|-
 
|-
| <code>property</code> || <code>Controls[const ALookupName]: [[FGX.Control.TfgControl|TfgControl]]</code>
+
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Controls[const ALookupName]: [[FGX.Controls.TfgControl|TfgControl]]</code>
Доступ к конкретному вложенному контролу элемента по имени '' TfgControl.LookupName '' и '' TfgControl.Name '' .
+
 
 +
<p>Доступ к конкретному вложенному контролу элемента по имени <i>TfgControl.LookupName</i> и <i>TfgControl.Name</i> .</p><div class="info">Если контрола с указанным именем поиска нету, то вернет nil.</div>
 
|-
 
|-
| <code>property</code> || <code>Item: [[FGX.Control.TfgControl|TfgControl]]</code>
+
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Item: [[FGX.CollectionView.TfgCollectionViewStyle|TfgCollectionViewStyle]]</code>
Возвращает контрол, представляющий корень элемента коллекции.
+
<p>Возвращает контрол, представляющий корень элемента коллекции.</p>
 
|}
 
|}

Текущая версия на 03:16, 6 декабря 2021

Delphi

TfgItemWrapper = class (TObject)

TObject -> TfgItemWrapper

Описание

Обертка для доступа к контролам одного элемента коллекции. Обеспечивает вспомогательные методы для быстрого поиска вложенных контролов по имени TfgControl.LookupName с кешированием.

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

constructor
Create(const AItem: TfgCollectionViewStyle; const AData: IFGXItemDataAccessor)

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

Методы

procedure
UpdateLookupNameIndex()

Обновляет индекс, используемый для быстрого доступа к компонентам стиля через LookupName .

TfgItemWrapper формирует индекс только при создании, тем самым обеспечивая быструю работу метода GetControlByLookupName . Однако, кеш не обновляется автоматически при динамических изменениях структуры стиля при связывании данных. И в этом случае, если требуется, можно вызвать этот метод.
function
GetControlByLookupName(const ALookupName: string): T

Доступ к конкретному вложенному контролу элемента по имени TfgControl.LookupName с приведением к указанному классу T .

Если контрола с указанным именем поиска нету, то вернет nil. Если элемент с указанным именем есть, но он не подходяшего класса, то так же вернет nil.
function
GetControlByName(const AName: string): T

Доступ к конкретному вложенному контролу элемента по имени TfgControl.Name с приведением к указанному классу T .

Если контрола с указанным именем поиска нету, то вернет nil. Если элемент с указанным именем есть, но он не подходяшего класса, то так же вернет nil.

Свойства

property
Index: Integer

Порядковый индекс элемента в списке.

При удалении из списка элемента до текущего этот индекс поменяет свое значение. Если вам важно однозначно идентифицировать элемент в биндинге, то используйте свойство Id для задания уникального идентификатора элементу.
property
Id: Int64

Уникальный идентификатор элемента. Используется для корректного выделения элемента, при изменении списка элементов (удалении, изменении или добавлении новых).

По умолчанию совпадает с индексом. Если вы планируете обновлять список одновременно с работой выделения, то необходимо каждому элементу присвоить постоянный не изменяемый идентификатор через событие TfgCollectionView.OnGetItemId
property
StyleName: string

Название использованного стиля элемента.

property
Controls[const ALookupName]: TfgControl

Доступ к конкретному вложенному контролу элемента по имени TfgControl.LookupName и TfgControl.Name .

Если контрола с указанным именем поиска нету, то вернет nil.
property
Item: TfgCollectionViewStyle

Возвращает контрол, представляющий корень элемента коллекции.