Book Image

Primefaces Cookbook Second Edition

Book Image

Primefaces Cookbook Second Edition

Overview of this book

Table of Contents (20 chapters)
PrimeFaces Cookbook Second Edition
Credits
Foreword
Foreword
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Handling tons of data – LazyDataModel


The dataTable component provides support for displaying tons of data by enabling lazy loading. In order to handle large datasets, a data model needs to be implemented based on org.primefaces.model.LazyDataModel to support pagination, sorting, filtering, and live scrolling.

How to do it…

First, the lazy attribute should be set to true for lazy loading to be enabled for the table, and the abstract load method should be implemented in org.primefaces.model.LazyDataModel. We must also implement the getRowData and getRowKey methods when selection is enabled in the table. The lazy data model should be constructed with the list of Car instances and be bound to the table:

List<Car> cars = new ArrayList<Car>(millions_of_cars);
LazyDataModel<Car>lazyModel = new LazyCarDataModel(cars);

The table calls the load method implementation with the following parameters when paging, sorting, or filtering actions occur:

  • first: This is the index of the first data...