Datasources

Für Grids und für Dashboard-Diagramme kann es manchmal notwendig sein eigene Datasources zu definieren. Datasources bestehen aus zwei Teilen. Zum einen die XML-Konfiguration, welche Klasse mit welchen Parametern verwendet werden soll und wie Felder aus der Datasource gemappt werden sollen. Desweiteren aus einer Klasse die AbstractDatasource erweitert.

Datasource-Objekt

Datasource-Objekte definieren welche Klasse als Datasource verwendet werden soll und wie die Felder gemappt werden sollen.

Die XML-Dokumentation für die Datasource ist hier zu finden.

Beispiel:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<datasource xmlns="http://www.setasign.com/Konquadrat/Datasource">
    <fields>
    	<field>Tag</field>
    	<field>Anzahl</field>
        <field>Umsatz</field>
    </fields>
    <php>
        <className>com\setasign\Konquadrat\Custom\Datasource\UmsatzProTag</className>
    </php>
</datasource>

Datasource-Klasse

Die Datasource-Klasse muss die abstrakte Klasse AbstractDatasource erweitern. Zusätzlich müssen die Klassen folgende drei Methoden implementieren:

getCount()

Returns the total count of entries found by the datasource.

isLimitable()

Returns whether datasource is limitable / pageable.

Die AbstractDatasource hat standardmäßig keinerlei Abhängigkeiten! Jedoch ist es möglich sich die benötigten Klassen aus dem Di in den Konstruktor injekten zu lassen (der letzte Parameter muss unverändert an den Parent weitergegeben werden).

Falls die Datasource für ein Grid verwendet werden soll ist es zusätzlich noch möglich folgende Interfaces zu implementieren: