data-providers

Bind Vaadin 25 Grid and ComboBox to large datasets with server-side filtering, sorting, and paging.

6|1|Updated Feb 24, 2026
One-click install
npx skills add https://github.com/marcushellberg/vaadin-development-plugin --skill data-providers-marcushellberg
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-providers
Source: https://github.com/marcushellberg/vaadin-development-plugin/tree/main/skills/data-providers
Command: npx skills add https://github.com/marcushellberg/vaadin-development-plugin --skill data-providers-marcushellberg

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Vaadin 25 data providers simplify efficient binding of large datasets to UI components like Grid and ComboBox, reducing boilerplate and improving performance.

Core Features & Use Cases

  • In-memory binding for small datasets with grid.setItems(...)
  • Lazy loading and paging with grid.setItemsPageable(...) and backend services
  • Spring-based data providers with filtering, sorting, and incremental loading
  • Reusable data-provider patterns to decouple UI and data layers

Quick Start

Configure a Grid to use a Spring-backed data provider with paging and lazy loading for a large dataset.

Frequently Asked Questions about data-providers

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement lazy loading for a Vaadin Grid with a large backend dataset?

Lazy loading for a Vaadin Grid is implemented using flexible data providers with setItemsPageable. This enables server-side filtering, sorting, and paging to efficiently bind large datasets to the UI without overwhelming memory.

What is the difference between in-memory and lazy loading data providers in Vaadin Flow?

In-memory data providers use grid.setItems(...) for small datasets loaded entirely in memory, while lazy loading uses grid.setItemsPageable(...) with backend services to fetch data incrementally, improving performance for large datasets.

Can I use Spring-based data providers for server-side sorting and filtering in Vaadin 25?

Yes, Spring-based data providers support server-side filtering, sorting, and incremental loading in Vaadin 25. They offer reusable patterns to decouple UI and data layers while integrating seamlessly with Spring backend services.

Does this data binding approach work for ComboBox as well as Grid in Vaadin Flow?

Yes, flexible data providers apply to both Grid and ComboBox components in Vaadin Flow. They support both in-memory and lazy loading patterns for efficient data binding across these UI components.

What's the best way to decouple UI components from the data layer when binding datasets in Vaadin?

Reusable data-provider patterns decouple UI and data layers in Vaadin by providing flexible binding templates. These templates handle server-side filtering, sorting, and paging, reducing boilerplate and improving application maintainability.