v5.20191.612
|

ICollectionView Interface

Enables collections to have the functionalities of current record management, custom sorting, filtering, and grouping.

This is a JavaScript version of the ICollectionView interface used in Microsoft's XAML platform. It provides a consistent, powerful, and MVVM-friendly way to bind data to UI elements.

Wijmo includes several classes that implement ICollectionView. The most common is CollectionView, which works based on regular JavsScript arrays.

Hierarchy

Properties

canFilter

canFilter: boolean

Gets a value that indicates whether this view supports filtering via the filter property.

canGroup

canGroup: boolean

Gets a value that indicates whether this view supports grouping via the groupDescriptions property.

canSort

canSort: boolean

Gets a value that indicates whether this view supports sorting via the sortDescriptions property.

currentItem

currentItem: any

Gets the current item in the view.

currentPosition

currentPosition: number

Gets the ordinal position of the current item in the view.

filter

filter: IPredicate

Gets or sets a callback used to determine if an item is suitable for inclusion in the view.

NOTE: If the filter function needs a scope (i.e. a meaningful 'this' value), then remember to set the filter using the 'bind' function to specify the 'this' object. For example:

  collectionView.filter = this._filter.bind(this);

groupDescriptions

groupDescriptions: ObservableArray

Gets a collection of GroupDescription objects that describe how the items in the collection are grouped in the view.

groups

groups: any[]

Gets the top-level groups.

isEmpty

isEmpty: boolean

Gets a value that indicates whether this view contains no items.

items

items: any[]

Gets the filtered, sorted, grouped items in the view.

sortDescriptions

sortDescriptions: ObservableArray

Gets a collection of SortDescription objects that describe how the items in the collection are sorted in the view.

sourceCollection

sourceCollection: any

Gets or sets the collection object from which to create this view.

Methods

beginUpdate

  • beginUpdate(): any
  • Suspends refreshes until the next call to endUpdate.

    Returns any

contains

  • contains(item: any): boolean
  • Returns a value that indicates whether a given item belongs to this view.

    Parameters

    • item: any

      The item to locate in the collection.

    Returns boolean

deferUpdate

  • deferUpdate(fn: Function): any
  • Executes a function within a beginUpdate/endUpdate block.

    The collection will not be refreshed until the function has been executed. This method ensures endUpdate is called even if the function throws.

    Parameters

    • fn: Function

      Function to be executed within the beginUpdate/endUpdate block.

    Returns any

endUpdate

  • endUpdate(): any
  • Resumes refreshes suspended by a call to beginUpdate.

    Returns any

implementsInterface

  • implementsInterface(interfaceName: string): boolean
  • Returns true if the object implements a given interface.

    Parameters

    • interfaceName: string

      Name of the interface to look for.

    Returns boolean

moveCurrentTo

  • moveCurrentTo(item: any): boolean
  • Sets the specified item to be the current item in the view.

    Parameters

    Returns boolean

moveCurrentToFirst

  • moveCurrentToFirst(): boolean
  • Sets the first item in the view as the current item.

    Returns boolean

moveCurrentToLast

  • moveCurrentToLast(): boolean
  • Sets the last item in the view as the current item.

    Returns boolean

moveCurrentToNext

  • moveCurrentToNext(): boolean
  • Sets the item after the current item in the view as the current item.

    Returns boolean

moveCurrentToPosition

  • moveCurrentToPosition(index: number): boolean
  • Sets the item at the specified index in the view as the current item.

    Parameters

    • index: number

      The index of the item to set as the currentItem.

    Returns boolean

moveCurrentToPrevious

  • moveCurrentToPrevious(): any
  • Sets the item before the current item in the view as the current item.

    Returns any

refresh

  • refresh(): any
  • Re-creates the view using the current sort, filter, and group parameters.

    Returns any

Events

collectionChanged

collectionChanged: Event

Occurs when the collection changes.

currentChanged

currentChanged: Event

Occurs after the current item changes.

currentChanging

currentChanging: Event

Occurs before the current item changes.