flexChart per SQL füllen?

chart

#1

Hallo zusammen,

wie funktioniert denn der LoadFrom-Befehl in einem flexChart?
Kann man das ganze auch per SQL füllen?

image

Danke und Grüße
Manuel Haas


#2

Hallo Herr Haas,

Das LoadFrom funktioniert wie bei den anderen Komponenten z.B. beim FlexDocument. Es wird anhand des Values ein Dateiname zusammengesetzt und die Datei dann geladen.
Das besondere ist hierbei das Dateiformat, da dies ein eigenes Format und kein Standardformat wie Word, Excel oder PDF ist. Es können also nur Charts geladen werden, die zuvor auch mit der Chartkomponente erstellt und gespeichert wurden.

Deshalb wir man in den meisten Fällen das Chart eher direkt befüllen, anstatt ein bestehendes zu laden.

Sie können das Chart nicht direkt per SQL -Befehl befüllen, aber selbstverständlich eine Datenmenge verwenden, die Sie vorher per SQL geladen haben.

Beispiel: Laden von Statistikdaten per SQL und befüllen des ChartControls

flexChart1.ChartControl.Series.Clear();
var dt = ML.DB2.GetDataTable("Select * from STATISTIK");   
foreach (DataRow row in dt.Rows)
{
	var series = new Series(row["JAHR"].ToString(), ViewType.Area3D);
    series.Points.Add(new SeriesPoint("Jan", row["JAN"]));
    series.Points.Add(new SeriesPoint("Feb", row["FEB"]));
    series.Points.Add(new SeriesPoint("Mar", row["MAR"]));
    series.Points.Add(new SeriesPoint("Apr", row["APR"]));
    series.Points.Add(new SeriesPoint("May", row["MAY"]));
    series.Points.Add(new SeriesPoint("Jun", row["JUN"]));
    series.Points.Add(new SeriesPoint("Jul", row["JUL"]));
    series.Points.Add(new SeriesPoint("Aug", row["AUG"]));
    series.Points.Add(new SeriesPoint("Sep", row["SEP"]));
    series.Points.Add(new SeriesPoint("Oct", row["OCT"]));
    series.Points.Add(new SeriesPoint("Nov", row["NOV"]));
    series.Points.Add(new SeriesPoint("Dec", row["DEC"]));
    ChartControl.Series.Add(series);
}