Jakane - Di 10.03.15 11:46
Titel: TChart, vorhandene Serie bearbeiten
Hallo liebe Delphi-Helfer :)
Ich habe eine DB-Tabelle mit Fehlerhinweisen (Fehlerart, Zeitpunkt, Anwender ect.) und ein Programm mit dem ich diese Angaben auswerten und für ein TChart vorbereiten kann.
Ich habe eine Tabelle die angibt, welcher Wert auf welche Serie kommt: lbID
Da steht z.B. folgendes drin:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| 0 1 2 3 0 1 2 3 0 1 2 3 4 |
Mit folgender Formel füll ich mein Chart:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| for f := 0 to lbID.Items.Count - 1 do begin iID := StrToInt(lbID.Items.Strings[f]); iCount := StrToInt(lbCount.Items.Strings[f]); sGruppe := lbGruppierung.Items.Strings[f]; sDetail := lbDetails.Items.Strings[f];
Chart.Series[iID].Add(iCount, sGruppe); end; |
Problem ist nun die 4 kommt nur einmal vor, und statt wie gewünscht den Inhalt auf die 4. Serie zu legen, legt er mir das auf die 0. Serie drauf, weil Serie 0 bis 3 keine 4. Ebene hat.
Da die ID nur in diesem Fall schön sortiert ist, ich aber die höhste ID kenne (4) wollte ich die Serien schon vorher anlegen und erst danach mit meiner Formal (die natürlich geändert werden muss) die vorhandenen Serien editieren.
Ich weiss nur nicht wie ich eine vorhandene Serie bearbeiten kann :(
Ich hoffe ich konnte mein Problem darstellen und jemand kann mir helfen :) Danke
baumina - Di 10.03.15 12:07
Wie gesagt, keine Ahnung was du da tust, aber wenn du wissen willst, wie man einer vorhandenen Serie einen neuen Wert hinzufügt, verwendet man z.B. Serie.AddXY.
Zitat: |
function AddXY(Const AXValue, AYValue: Double; Const ALabel: String; AColor: TColor): Integer; virtual;
Unit
TeEngine
Description
This function inserts a new point in the Series.
The new point has X and Y values.
The ALabel parameter is optional (can be empty '').
The AColor parameter is optional (can be clTeeColor).
The function returns the new point position in the Values list.
Series1.AddXY( 123, 456, 'Hello', clGreen );
|