An event that is emitted on chunk loading to emit the current state information - startIndex, endIndex, totalCount. Can be used for implementing remote load on demand for the igxFor data.
<ng-template igxFor [igxForOf]="data" [igxForScrollOrientation]="'horizontal'" (chunkPreload)="chunkPreload($event)"></ng-template>
chunkPreload(e){
alert("chunk is loading!");
}
An event that is emitted after the rendered content size of the igxForOf has been changed.
An event that is emitted after data has been changed.
<ng-template igxFor [igxForOf]="data" [igxForScrollOrientation]="'horizontal'" (dataChanged)="dataChanged($event)"></ng-template>
dataChanged(e){
alert("data changed!");
}
Sets the px-affixed size of the container along the axis of scrolling. For "horizontal" orientation this value is the width of the container and for "vertical" is the height.
<ng-template igxFor let-item [igxForOf]="data" [igxForContainerSize]="'500px'"
[igxForScrollOrientation]="'horizontal'">
</ng-template>
Sets the px-affixed size of the item along the axis of scrolling. For "horizontal" orientation this value is the width of the column and for "vertical" is the height or the row.
<ng-template igxFor let-item [igxForOf]="data" [igxForScrollOrientation]="'horizontal'" [igxForItemSize]="'50px'"></ng-template>
Sets the data to be rendered.
<ng-template igxFor let-item [igxForOf]="data" [igxForScrollOrientation]="'horizontal'"></ng-template>
Optionally pass the parent igxFor
instance to create a virtual template scrolling both horizontally and vertically.
<ng-template #scrollContainer igxFor let-rowData [igxForOf]="data"
[igxForScrollOrientation]="'vertical'"
[igxForContainerSize]="'500px'"
[igxForItemSize]="'50px'"
let-rowIndex="index">
<div [style.display]="'flex'" [style.height]="'50px'">
<ng-template #childContainer igxFor let-item [igxForOf]="data"
[igxForScrollOrientation]="'horizontal'"
[igxForScrollContainer]="parentVirtDir"
[igxForContainerSize]="'500px'">
<div [style.min-width]="'50px'">{{rowIndex}} : {{item.text}}</div>
</ng-template>
</div>
</ng-template>
Specifies the scroll orientation. Scroll orientation can be "vertical" or "horizontal".
<ng-template igxFor let-item [igxForOf]="data" [igxForScrollOrientation]="'horizontal'"></ng-template>
Sets the property name from which to read the size in the data object.
The current state of the directive. It contains startIndex
and chunkSize
.
state.startIndex - The index of the item at which the current visible chunk begins.
state.chunkSize - The number of items the current visible chunk holds.
These options can be used when implementing remote virtualization as they provide the necessary state information.
const gridState = this.parentVirtDir.state;
The total count of the virtual data items, when using remote service. Similar to the property totalItemCount, but this will allow setting the data count into the template.
<ng-template igxFor let-item [igxForOf]="data | async" [igxForTotalItemCount]="count | async"
[igxForContainerSize]="'500px'" [igxForItemSize]="'50px'"></ng-template>
Gets the function used to track changes in the items collection. By default the object references are compared. However this can be optimized if you have unique identifier value that can be used for the comparison instead of the object ref or if you have some other property values in the item object that should be tracked for changes. This option is similar to ngForTrackBy.
const trackFunc = this.parentVirtDir.igxForTrackBy;
Sets the function used to track changes in the items collection. This function can be set in scenarios where you want to optimize or customize the tracking of changes for the items in the collection. The igxForTrackBy function takes the index and the current item as arguments and needs to return the unique identifier for this item.
this.parentVirtDir.igxForTrackBy = (index, item) => {
return item.id + item.width;
};
Gets/Sets the scroll position.
const position = directive.scrollPosition;
directive.scrollPosition = value;
The total count of the virtual data items, when using remote service.
this.parentVirtDir.totalItemCount = data.Count;
An event that is emitted after a new chunk has been loaded.