1.2. Связь с данными

Реализовано два варианта передачи данных в диаграмму: через интерфейс DataProvider, или через механизм источников данных.

  • Интерфейс DataProvider имеет стандартную реализацию: класс ListDataProvider. Он содержит список экземпляров DataItem, каждый из которых содержит набор пар ключ-значение. Экземпляр DataProvider передается методу setDataProvider() конфигурации диаграммы. Данный способ предоставления данных для диаграммы наиболее универсален, однако требует создания экземпляров DataProvider и DataItem в коде контроллера экрана.

  • Источник данных типа CollectionDatasource устанавливается для компонента Chart вызовом метода setDatasource(). Данный вариант требует наличия сущности, представляющей данные диаграммы. Он удобен, когда такая сущность уже есть в модели данных приложения, а также когда данные диаграммы нужно отобразить и в виде таблицы.

В главе Раздел 1.4, «Пример работы с диаграммами» проиллюстрированы оба способа получения данных.

Используемые для отображения свойства сущности или значения, содержащиеся в экземпляре DataProvider, задаются в атрибутах диаграммы, причем атрибуты различаются для разных типов диаграмм. Например для компонента chart:pieChart необходимо задать атрибуты valueField и titleField. В качестве значений могут выступать типы Integer, Long, Double, String, Boolean, Date.

Динамическое добавление данных в существующий график не поддерживается, возможно только полностью перерисовать график с новыми данными. Для этого необходимо воспользоваться методом repaint().