Class DistanceCounterCollection
A collection of entities for which distances need to be counted. The collection provides methods for mapping from a distance position to an entity and vice versa.
For example, in a scrollable grid control you have rows with different heights. Use this collection to determine the total height for all rows in the grid, quickly determine the row index for a given point and also quickly determine the point at which a row is displayed. This also allows a mapping between the scrollbars value and the rows or columns associated with that value.
Inheritance
Implements
Namespace: Syncfusion.GridCommon.ScrollAxis
Assembly: Syncfusion.GridCommon.Portable.dll
Syntax
public class DistanceCounterCollection : Object, IDistanceCounterCollection
Remarks
DistanceCounterCollection uses a high-water mark technique for allocating objects up to the modified entry with the highest index. When you modify the size of an entry the collection ensures that objects are allocated for all entries up to the given index. Entries that are after the modified entry are assumed to have the DefaultSize and will not be allocated.
The best-case scenario is when all lines have the same DefaultSize. In such case the internal collection remains completely empty and will not cause any overhead. This makes DistanceCounterCollection also an attractive solution for the scenario where all entries have the same size (e.g. a data bound grid where all rows have same height).
Constructors
DistanceCounterCollection()
Initializes a new instance of the DistanceCounterCollection class.
Declaration
public DistanceCounterCollection()
Properties
Count
Gets or sets the raw number of entities (lines, rows or columns).
Declaration
public int Count { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 | The raw number of entities (lines, rows or columns). |
DefaultDistance
Gets or sets the default distance (row height or column width) an entity spans.
Declaration
public double DefaultDistance { get; set; }
Property Value
Type | Description |
---|---|
System.Double | The default distance (row height or column width) an entity spans. |
Item[Int32]
Gets or sets the distance for an entity from the given index.
Declaration
public double this[int index] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | index | The index for the entity |
Property Value
Type | Description |
---|---|
System.Double | The distance for an entity from the given index. |
TotalDistance
Gets the total distance all entities span (e.g. total height of all rows in grid).
Declaration
public double TotalDistance { get; }
Property Value
Type | Description |
---|---|
System.Double | The total distance all entities span (e.g. total height of all rows in grid). |
Methods
Clear()
Clears this instance.
Declaration
public void Clear()
ConnectWithParent(ITreeTableCounterSource)
Connects a nested distance collection with a parent.
Declaration
public void ConnectWithParent(ITreeTableCounterSource nestedTreeTableVisibleCounterSource)
Parameters
Type | Name | Description |
---|---|---|
Syncfusion.GridCommon.ITreeTableCounterSource | nestedTreeTableVisibleCounterSource | The Syncfusion.GridCommon.ITreeTableCounterSource representing the nested tree table visible counter source. |
GetAlignedScrollValue(Double)
Gets the aligned scroll value which is the starting point of the entity found at the given distance position.
Declaration
public double GetAlignedScrollValue(double point)
Parameters
Type | Name | Description |
---|---|---|
System.Double | point | The point. |
Returns
Type | Description |
---|---|
System.Double | The starting point of the entity found at the given distance position. |
GetCumulatedDistanceAt(Int32)
Gets the cumulated count of previous distances for the entity at the specific index. (e.g. return pixel position for a row index).
Declaration
public double GetCumulatedDistanceAt(int index)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | index | The entity index. |
Returns
Type | Description |
---|---|
System.Double | The cumulated count of previous distances for the entity at the specific index. |
GetNestedDistances(Int32)
Gets the nested entities at a given index. If the index does not hold a nested distances collection the method returns null.
Declaration
public IDistanceCounterCollection GetNestedDistances(int index)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | index | The index. |
Returns
Type | Description |
---|---|
IDistanceCounterCollection | The nested entities at a given index or null. |
GetNextScrollValue(Double)
Gets the distance position of the next entity after a given point.
Declaration
public double GetNextScrollValue(double point)
Parameters
Type | Name | Description |
---|---|---|
System.Double | point | The point after which the next entity is to be found. |
Returns
Type | Description |
---|---|
System.Double | The distance position of the next entity after a given point. |
GetNextVisibleIndex(Int32)
Gets the next visible index. Skip subsequent entities for which the distance is 0.0 and return the next entity.
Declaration
public int GetNextVisibleIndex(int index)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | index | The index. |
Returns
Type | Description |
---|---|
System.Int32 | The next visible index from the given index. |
GetPreviousScrollValue(Double)
Gets the distance position of the entity preceding a given point. If the point is in between entities, the starting point of the matching entity is returned.
Declaration
public double GetPreviousScrollValue(double point)
Parameters
Type | Name | Description |
---|---|---|
System.Double | point | The point of the entity preceding a given point. |
Returns
Type | Description |
---|---|
System.Double | The distance position of the entity preceding a given point. |
GetPreviousVisibleIndex(Int32)
Gets the previous visible index. Skip previous entities for which the distance is 0.0 and return the previous entity.
Declaration
public int GetPreviousVisibleIndex(int index)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | index | The index. |
Returns
Type | Description |
---|---|
System.Int32 | The previous visible index from the given index. |
IndexOfCumulatedDistance(Double)
Gets the index of an entity in this collection for which the cumulated count of previous distances is greater than or equal to the specified cumulatedDistance. (e.g. return row index for pixel position).
Declaration
public int IndexOfCumulatedDistance(double cumulatedDistance)
Parameters
Type | Name | Description |
---|---|---|
System.Double | cumulatedDistance | The cumulated count of previous distances. |
Returns
Type | Description |
---|---|
System.Int32 | The index of an entity in this collection for which the cumulated count of previous distances is greater than or equal to the specified cumulatedDistance. |
Insert(Int32, Int32)
Inserts entities in the collection from the given index.
Declaration
public void Insert(int insertAt, int count)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | insertAt | The index of the first entity to be inserted. |
System.Int32 | count | The number of entities to be inserted. |
Remove(Int32, Int32)
Removes entities in the collection from the given index.
Declaration
public void Remove(int removeAt, int count)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | removeAt | Index of the first entity to be removed. |
System.Int32 | count | The number of entities to be removed. |
ResetRange(Int32, Int32)
Resets the range by restoring the default distance for all entries in the specified range.
Declaration
public void ResetRange(int from, int to)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | from | The index for the first entity. |
System.Int32 | to | The raw index for the last entity. |
SetNestedDistances(Int32, IDistanceCounterCollection)
Assigns a collection with nested entities to an item.
Declaration
public void SetNestedDistances(int index, IDistanceCounterCollection nestedCollection)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | index | The index. |
IDistanceCounterCollection | nestedCollection | The nested collection. |
SetRange(Int32, Int32, Double)
Hides a specified range of entities (lines, rows or columns).
Declaration
public void SetRange(int from, int to, double distance)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | from | The index for the first entity. |
System.Int32 | to | The raw index for the last entity. |
System.Double | distance | The distance. |