1.3. Связь с данными
Реализовано два варианта передачи данных в диаграмму: через интерфейс DataProvider
или через механизм источников данных.
-
Интерфейс
DataProvider
имеет стандартную реализацию: классListDataProvider
. Он содержит список экземпляровDataItem
из которых будут браться данные для диаграммы. Существует несколько стандартных реализаций интерфейсаDataItem
:-
EntityDataItem
принимает экземпляр сущности. -
MapDataItem
содержит набор пар ключ-значение. -
SimpleDataItem
принимает экземпляр любогоpublic
класса.
-
Экземпляр DataProvider
передается методу setDataProvider()
конфигурации диаграммы. Данный способ предоставления данных для диаграммы наиболее универсален, однако требует создания экземпляров DataProvider
и DataItem
в коде контроллера экрана.
-
Источник данных типа
CollectionDatasource
устанавливается для компонентаChart
вызовом методаsetDatasource()
. Данный вариант требует наличия сущности, представляющей данные диаграммы. Он удобен, когда такая сущность уже есть в модели данных приложения, а также когда данные диаграммы нужно отобразить и в виде таблицы.
В главе Пример работы с диаграммами проиллюстрированы оба способа получения данных.
Используемые для отображения свойства сущности или значения, содержащиеся в экземпляре DataProvider
, задаются в атрибутах диаграммы, причем атрибуты различаются для разных типов диаграмм. Например для компонента chart:pieChart
необходимо задать атрибуты valueField
и titleField
.В качестве значений могут выступать типы Integer
, Long
, Double
, String
, Boolean
, Date
.
Динамическое добавление данных в существующий график поддерживается для обоих механизмов.