AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TClientDataSet in Verbindnug mit TDBChart
Thema durchsuchen
Ansicht
Themen-Optionen

TClientDataSet in Verbindnug mit TDBChart

Ein Thema von Sven M. · begonnen am 24. Sep 2013 · letzter Beitrag vom 25. Sep 2013
Antwort Antwort
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#1

TClientDataSet in Verbindnug mit TDBChart

  Alt 24. Sep 2013, 15:40
Datenbank: - • Version: - • Zugriff über: -
Hi zusammen,
ich habe ein mittelschweres Problem mit meinem TClientDataset in Verbindung mit einem TDBChart.

Ich erstelle bis auf das Chart alles dynamisch. Da ich die betreffenden Zeilen nicht aus meinem Projekt entnehmen will, hab ich das mal in einem kleinen Test nachgestellt. Auch hier zeigt sich genau das gleiche Verhalten. (Ja, ich weiß, die Namensgebung ist suboptimal. Ist wie gesagt nur zur Demo. )

Delphi-Quellcode:
  FGraph:=TLineSeries.Create(DBChart1);
  FGraph.ParentChart:=DBChart1;

  FCDS:=TClientDataset.Create(nil);
  FDS:=TDataSource.Create(nil);

  FDS.DataSet:=FCDS;
  FGraph.DataSource:=FDS;

  with FCDS.FieldDefs do
  begin
    Clear;
    Add('Zeitstempel', ftDateTime);
    Add('Wert', ftFloat);
  end;

  FCDS.CreateDataSet;

  FGraph.XLabelsSource:='Zeitstempel';
  FGraph.YValues.ValueSource:='Wert';

  FCDS.FileName:='C:\Verzeichnis\set.cds';
  FCDS.SaveToFile('', dfBinary);
  FCDS.IndexFieldNames:='Zeitstempel';
Nun nützt mir ein leeres DataSet natürlich herzlich wenig. Daher befülle ich das Set manuell mit folgender Sequenz.
Delphi-Quellcode:
  FCDS.Open;
  FCDS.Edit;
  FCDS.Append;
  FCDS.FieldByName('Zeitstempel').AsDateTime:=now;
  FCDS.FieldByName('Wert').AsFloat:=StrToFloat(IntEdit1.Text);
  FCDS.Post;
  FCDS.SaveToFile;
Dabei tritt das Problem auf, dass die Series immer nur genau einen Datenpunkt enthält - nämlich den letzten. Verbinde ich die DataSource aber mit einem DBGrid, sehe ich dort alle Daten, nur in der Series nicht. Kurioserweise passt sich der Datenpunkt im DBChart auch an, je nachdem welchen Punkt ich durch Klick auf das DBGrid auswähle. Daher scheint es wohl einfach nur ein Darstellungsproblem zu sein.

Kann mir jemand den entscheidenden Hinweis in die richtige Richtung geben? Die Daten scheinen ja offenbar vorhanden zu sein.


Ich bedanke mich im Voraus für jegliche Hilfe!




PS: Gesucht und gegoogelt habe ich natürlich. Gefunden aber leider nichts.
Delphi-Version ist - bitte nicht lachen - Delphi 5.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: TClientDataSet in Verbindnug mit TDBChart

  Alt 24. Sep 2013, 16:59
Scheinen nur zwei Kleinigkeiten zu sein
Delphi-Quellcode:
  FGraph.DataSource := FCDS; // Dataset statt Datasource
  DBChart1.LeftAxis.Automatic := true;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#3

AW: TClientDataSet in Verbindnug mit TDBChart

  Alt 25. Sep 2013, 12:13
Die erste Zeile war's! Vielen Dank!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz