Angular ListView - Customizable Templated Component | Syncfusion
Overview
The Angular ListView component is a list-like interface that allows you to select an item or multiple items. It represents data in an interactive hierarchical structure across different layouts and views.
Data binding
Powerful data binding allows data to be loaded from an array of primitive data, JSON data collections, or remote data sources. The component supports complex data with field mapping; different kinds of data services such as OData, OData V4, and web API; and data formats such as XML, JSON, JSONP, CSV, and HTML tables.

Virtualization or load on demand
The Angular ListView supports UI virtualization to improve performance while loading huge amounts of data. This creates a fixed number of items regardless of data volume and displays only the relevant data.
Sortable list
Sort data programmatically in ascending or descending order. Also use custom sorting logic.
Group list
Group ListView data programmatically. Users can identify a group name from group headers in the view and also use custom sorting logic.
Multilevel ListView
The Angular ListView represents a nested data object structure as a list of lists. The initial screen displays the first-level list items and the next level is displayed when interacting with them.
Selection
Single selection
When a user clicks or taps an item, ListView enables the selection of the list item by default.
Checkboxes
The Angular ListView component supports multiple selection through checkboxes on the right or left of the list items. This helps users select or clear a series of items without using the keyboard.
Manipulation
Users can disable the ListView selection by handling events. Preserve and restore the selected values in the ListView to help users continue their work from a previously saved state.
UI customization
Completely customize the ListView header, list items, and group header using template options. This helps users arrange their content in flexible formats like image view, multiline text view, and mixed mode.

Grouping
ListView supports wrapping nested elements into groups based on categories. The category of each list item can be mapped with the groupBy field in the data table, which also supports single-level navigation.

Dual list
Design a dual list using Angular ListView to move data from one list to another.

Touch-friendly UI
The ListView component responds to screen size changes and adapts its contents to fit any device. It also recognizes touch gestures, enabling items to be selected or cleared when a tap or double-tap action is performed. This provides the best user experience for phones, tablets, and desktops.
Built-in and customizable themes
Several built-in, Sass-based themes are available: Fluent, Tailwind CSS, Bootstrap 5, Bootstrap, Material, and high contrast. Users can customize these themes by either overriding the existing Sass styles or creating custom themes using the Theme Studio application.
Angular version compatibility
With continuous improvements to Angular, the Angular ListView is kept up to date to make it compatible with the latest version.
Web accessibility
- Fully supports WAI-ARIA accessibility that helps ListView be accessed by on-screen readers and assistive devices.
- Follows the WCAG 2.0 standard with design of UI visual elements such as foreground color, background color, line spacing, text, and images.
- Follows WAI-ARIA best practices for implementing keyboard interaction.
Developer-friendly APIs
In ListView, developers can control all the UI elements and behaviors. A rich set of developer-friendly APIs provides the best user experience.
Angular ListView Code Example
Easily get started with the Angular ListView using a few simple lines of TS code example as demonstrated below. Also explore our Angular ListView Example that shows you how to render and configure a ListView in Angular.
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-container', // specifies the template string for the Listview component template: `<ejs-listview id='sample-list' [dataSource]='data'></ejs-listview>` }) export class AppComponent { public data: Object = [ { text: 'Artwork', id: '01' }, { text: 'Abstract', id: '02' }, { text: 'Modern Painting', id: '03' }, { text: 'Ceramics', id: '04' }, { text: 'Animation Art', id: '05' }, { text: 'Oil Painting', id: '06' }]; }
Transform your applications today by downloading our free evaluation version
Syncfusion Angular Resources