syncfusion/angular-ui-components-skills

syncfusion-angular-listview

Guide for implementing Syncfusion Angular ListView component.

First seen May 7, 2026

Installation

$ npx skills add syncfusion/angular-ui-components-skills --skill syncfusion-angular-listview

Summary

  • Guide for implementing Syncfusion Angular ListView component.
  • Use this skill when building interactive lists with data binding, grouping, templates, selection, events, drag-and-drop, or virtualization features.
  • This skill covers getting started, data binding, customization, selection, advanced features, specialized use cases, styling, and accessibility for building production-ready list interfaces.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from syncfusion/angular-ui-components-skills · top by installs.

npx skills add syncfusion/angular-ui-components-skills

Browse all from syncfusion/angular-ui-components-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch master
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version34.1.29
More metadata
author
Syncfusion Inc
version
34.1.29
category
List Components

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 10,469 B
  • docs SUMMARY.md 433 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 208 installs

SKILL.md

Implementing Syncfusion Angular ListView

The Syncfusion Angular ListView component is a feature-rich, interactive component for displaying data in list format. It provides built-in support for data binding, grouping, nested lists, custom templates, selection modes, drag-and-drop, virtualization for large datasets, and comprehensive accessibility features. The component is production-ready and suitable for creating modern, data-driven user interfaces.

When to Use This Skill

Use this skill when:

  • Building interactive list-based interfaces with Angular
  • Displaying data from local or remote sources
  • Creating grouped or nested list structures
  • Customizing list item appearance with templates
  • Handling item selection and user interactions
  • Implementing specialized patterns (chat windows, checklists, dual-lists)
  • Optimizing performance with virtualization for large datasets
  • Building accessible list interfaces

Component Overview

Package: @syncfusion/ej2-angular-lists

Key Capabilities:

  • ✅ Local and remote data binding (arrays, DataManager, OData, REST APIs)
  • ✅ Grouping and nested list hierarchies
  • ✅ Flexible item, header, and group templates
  • ✅ Single/multiple selection modes with checkboxes
  • ✅ Full event system (select, click, delete, add, remove)
  • ✅ Drag-and-drop for item reordering
  • ✅ Virtualization for large datasets (1000+ items)
  • ✅ AJAX content loading and dynamic templates
  • ✅ Integrated paging support
  • ✅ Comprehensive theming and styling options
  • ✅ WCAG accessibility compliance

Documentation and Navigation Guide

Getting Started

📄 Read: [references/getting-started.md](references/getting-started.md)

  • Angular CLI setup and project configuration
  • Installing @syncfusion/ej2-angular-lists package
  • Adding CSS themes and styles
  • Creating your first ListView component
  • Basic data binding with minimal examples
  • Running the application (ng serve)

Data Binding

📄 Read: [references/data-binding.md](references/data-binding.md)

  • Binding local data arrays (strings, objects)
  • Field configuration and data mapping
  • Remote data binding with DataManager
  • OData and REST API integration
  • Dynamic data updates and refresh strategies
  • Field properties: id, text, isChecked, enabled, tooltip, groupBy

Customization and Templates

📄 Read: [references/customization-and-templates.md](references/customization-and-templates.md)

  • Header template customization with buttons and search bars
  • Item templates with avatars, badges, multi-line layouts
  • Group header templates with dynamic content
  • Dynamic templates based on device or screen size
  • Built-in CSS classes (e-list-template, e-list-wrapper, e-list-avatar, etc.)
  • Advanced template patterns with data binding

Grouping and Nested Lists

📄 Read: [references/grouping-and-nested-lists.md](references/grouping-and-nested-lists.md)

  • Grouping items by category with groupBy field
  • Customizing group headers and templates
  • Creating nested list structures for hierarchical data
  • Child data binding and expandable groups
  • Group header customization with item counts

Selection and Item Management

📄 Read: [references/selection-and-items.md](references/selection-and-items.md)

  • Selection modes (single, multiple, checkbox)
  • Getting selected items with getSelectedItems() method
  • Adding items dynamically with addItem()
  • Removing items with removeItem()
  • Event handling (select, actionComplete)
  • Programmatic selection and deselection

Advanced Features

📄 Read: [references/advanced-features.md](references/advanced-features.md)

  • Virtualization for high-performance large datasets
  • Scrolling and scroll position management
  • Drag-and-drop for item reordering
  • Filtering and searching list items
  • Integrating pager component with ListView
  • Loading states and spinners during data fetch
  • AJAX content loading into list items

Specialized Use Cases

📄 Read: [references/specialized-use-cases.md](references/specialized-use-cases.md)

  • Building chat window layouts
  • Creating checklist interfaces with checkboxes
  • Building dual-list (transfer list) components
  • Creating grid-based layouts with ListView
  • Rendering hyperlinked navigation lists
  • Customizing with dynamic tags and badges
  • Mobile contact layout patterns

Styling and Themes

📄 Read: [references/styling-and-themes.md](references/styling-and-themes.md)

  • Theme imports (Material3, Bootstrap, Fabric, Tailwind)
  • CSS class customization and overrides
  • Custom styling for list items and groups
  • Responsive design and mobile optimization
  • Animation settings and transitions
  • RTL (right-to-left) support
  • Dark mode theming

Item Count and Group Headers

📄 Read: [references/item-count-and-grouping.md](references/item-count-and-grouping.md)

  • Displaying item count in group headers
  • Dynamic count calculation and updates
  • Group statistics and aggregations
  • Advanced group header templates
  • Conditional item count display

Accessibility

📄 Read: [references/accessibility.md](references/accessibility.md)

  • WCAG 2.1 compliance and keyboard navigation
  • ARIA attributes and screen reader support
  • Focus management and indicators
  • Keyboard shortcuts and navigation patterns
  • Color contrast and accessible theming
  • Testing accessibility with assistive technologies

Complete API Reference

📄 Read: [references/api-reference.md](references/api-reference.md)

  • Properties: animation, enablePersistence, enableRtl, locale, query, and more
  • Methods: back(), checkAllItems(), selectMultipleItems(), and complete method suite
  • Events: select, scroll, actionBegin, actionComplete, actionFailure with argument details
  • Complete working examples for each API
  • Quick reference tables for properties, methods, and events

Quick Start Example

import { ListViewModule } from '@syncfusion/ej2-angular-lists';
import { Component } from '@angular/core';

@Component({
  imports: [ListViewModule],
  standalone: true,
  selector: 'app-root',
  template: `
    <ejs-listview 
      id='sample-list' 
      [dataSource]='data'>
    </ejs-listview>
  `
})
export class AppComponent {
  // Simple string data
  public data: string[] = [
    'Artwork', 'Abstract', 'Modern Painting', 
    'Ceramics', 'Animation Art', 'Oil Painting'
  ];
}

CSS Import (in styles.css):

@import "../node_modules/@syncfusion/ej2-base/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-angular-lists/styles/material3.css";

Run:

npm install @syncfusion/ej2-angular-lists --save
ng serve --open

Common Patterns

Pattern 1: Data-Driven List with Field Mapping

Use when displaying complex objects with multiple properties:

public data = [
  { name: 'John', email: '[email protected]', id: '1' },
  { name: 'Jane', email: '[email protected]', id: '2' }
];
public fields = { text: 'name', id: 'id' };

Pattern 2: Grouped List

Use when organizing items by category:

public fields = { text: 'name', groupBy: 'department' };

Pattern 3: Templated List

Use when you need custom layouts:

<ejs-listview [dataSource]='data' cssClass='e-list-template'>
  <ng-template #template let-data="">
    <div class="e-list-wrapper">
      <span>{{ data.name }}</span>
    </div>
  </ng-template>
</ejs-listview>

Pattern 4: Selection with Checkboxes

Use when users need to select multiple items:

<ejs-listview [dataSource]='data' [showCheckBox]='true'></ejs-listview>

Pattern 5: Dynamic Add/Remove

Use for interactive list management:

addItem() {
  this.listview.addItem([{ text: 'New Item', id: 'new' }]);
}
removeItem(element: HTMLElement) {
  this.listview.removeItem(element);
}

Key Props and Configuration

Property Type Description
dataSource array/DataManager The data to display in the list
fields object Field mappings (text, id, groupBy, etc.)
template string/function Custom template for list items
headerTemplate string/function Custom header template
groupTemplate string/function Custom group header template
showCheckBox boolean Show checkboxes for selection (default: false)
showHeader boolean Display ListView header (default: false)
headerTitle string Title for the header
enableVirtualization boolean Enable virtual scrolling for large datasets
enableHtmlSanitizer boolean Sanitize HTML content (default: true)
allowDragAndDrop boolean Enable drag-and-drop reordering
select event Triggered when item is selected
actionComplete event Triggered after add/remove operations

Common Use Cases

  1. Task Manager - Dynamic add/remove with checkboxes and drag-drop
  2. Contact Directory - Multi-line templates with grouping by department
  3. Chat Interface - Custom templates with avatars and timestamps
  4. Product Catalog - Virtualization for thousands of products
  5. Navigation Menu - Nested lists with icons and routing
  6. Checklist - Checkbox selection with count in headers
  7. Dual-List Transfer - Two ListViews with move operations
  8. Mobile Navigation - Touch-friendly, responsive list layout

Next Steps

  • Start here: [Getting Started](references/getting-started.md)
  • Bind data: [Data Binding](references/data-binding.md)
  • Build interactive: [Selection and Items](references/selection-and-items.md)
  • Optimize performance: [Advanced Features](references/advanced-features.md)
  • Advanced patterns: [Specialized Use Cases](references/specialized-use-cases.md)

For API reference and detailed documentation, see the Syncfusion Angular ListView API.