1.3. Connecting Data
There are two ways how you can pass data to a chart: through the
DataProvider interface or using the datasource mechanism.
DataProviderinterface has a standard implementation:
ListDataProviderclass. It contains a list of
DataIteminstances from which the data for the chart will be taken. There are several standard implementations of
EntityDataItemtakes an instance of any entity.
MapDataItemis a set of key-value pairs.
SimpleDataItemtakes an instance of any
An instance of
DataProvider is passed to the
setDataProvider() method of chart configuration. This approach to providing chart data is the most universal, but it requires creating instances of
DataItem in a screen controller.
CollectionDatasourcetype datasource can be assigned to a
Chartcomponent by invoking the
setDatasource()method. This approach requires an entity that will represent chart data. It may be convenient when such entity already exists in the application data model and also when chart data should be displayed as a table.
Example of Working with Charts illustrates both approaches to providing chart data.
Entity properties or the values contained in an instance of
DataProvider which are used for display purposes are defined in the chart attributes. The set of chart attributes may differ for different chart types. For example, for the
chart:pieChart component, you should define the
titleField attributes. The following types are allowed for attribute values:
Dynamic addition of data to an existing chart is supported for both the datasource and the data provider mechanisms.