AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Dynamisches DBChart befüllen
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisches DBChart befüllen

Ein Thema von AnyKey · begonnen am 19. Apr 2010 · letzter Beitrag vom 20. Apr 2010
Antwort Antwort
AnyKey

Registriert seit: 15. Apr 2008
173 Beiträge
 
#1

Dynamisches DBChart befüllen

  Alt 19. Apr 2010, 19:51
Datenbank: SQLite • Version: 3.2.2 • Zugriff über: UniDAC
Hi,

wie kann ich ein dynamisch erstelltes DBChart befüllen? Ich habe einfach mal ein DBChart genommen, eingestellt und den Code kopiert, sieht folgendermaßen aus:

Delphi-Quellcode:
DBChart := TDBChart.Create(Self);
    Series1 := TPieSeries.Create(Self);
    with DBChart do
  begin
    Name := 'DBChart';
    Parent := Self;
    Left := 16;
    Top := 8;
    Width := 400;
    Height := 250;
    AllowPanning := pmNone;
    AllowZoom := False;
    BackWall.Brush.Color := clWhite;
    BackWall.Brush.Style := bsClear;
    BackWall.Pen.Visible := False;
    Title.Text.Clear;
    Title.Text.Add('TDBChart');
    AxisVisible := False;
    ClipPoints := False;
    Frame.Visible := False;
    View3DOptions.Elevation := 315;
    View3DOptions.Orthogonal := False;
    View3DOptions.Perspective := 0;
    View3DOptions.Rotation := 360;
    View3DWalls := False;
    TabOrder := 0;
  end;
  with Series1 do
  begin
    Name := 'Series1';
    Parent := Self;
    Marks.ArrowLength := 8;
    Marks.Visible := True;
    DataSource := UniTable;
    SeriesColor := clRed;
    OtherSlice.Text := 'Andere';
    PieValues.DateTime := False;
    PieValues.Name := 'Torte';
    PieValues.Multiplier := 1.000000000000000000;
    PieValues.Order := loNone;
  end;
Jetzt bekomme ich aber jedesmal wenn ich das Chart erstellen will folgende Meldung:
'Kein ParentChart zum validieren der Datenquelle'
Was mache ich falsch? Kann mir bitte jemand helfen? Ich nehme mal an das die Spalten aus denen das Diagramm erstellt werden sollen auch noch fehlen oder?

Gruß
AnyKey
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Dynamisches DBChart befüllen

  Alt 19. Apr 2010, 22:53
Hallo AnyKey,

die Series1 muss mit dem DBChart verbunden werden.

Series1.ParentChart:= DBChart; Als weiteres muss die Series1 mit der Datenquelle verbunden werden.

Series1.DataSource:= {DataSet}; (hier muss von SQLite.Dataset eingetragen werden.)

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
AnyKey

Registriert seit: 15. Apr 2008
173 Beiträge
 
#3

Re: Dynamisches DBChart befüllen

  Alt 20. Apr 2010, 08:25
Hi, danke für deine Antwort!

Also ich habs jetzt so:
Delphi-Quellcode:
    DBChart := TDBChart.Create(Self);
    Series1 := TPieSeries.Create(Self);
    with DBChart do
    begin
      Name := 'DBChart';
      Parent := Self;
      Align := alClient;
      AllowPanning := pmNone;
      AllowZoom := False;
      BackWall.Brush.Color := clWhite;
      BackWall.Brush.Style := bsClear;
      BackWall.Pen.Visible := False;
      Title.Text.Clear;
      Title.Text.Add('tblProjekt');
      AxisVisible := False;
      ClipPoints := False;
      Frame.Visible := False;
      View3DOptions.Elevation := 315;
      View3DOptions.Orthogonal := False;
      View3DOptions.Perspective := 0;
      View3DOptions.Rotation := 360;
      View3DWalls := False;
      TabOrder := 0;
    end;
    with Series1 do
    begin
      Name := 'Series1';
      Parent := Self;
      ParentChart := DBChart;
      Marks.ArrowLength := 8;
      Marks.Visible := True;
      SeriesColor := clRed;
      DataSource := UniTable;
      OtherSlice.Text := 'Andere';
      PieValues.DateTime := False;
      PieValues.Name := 'Torte';
      PieValues.Multiplier := 1.000000000000000000;
      PieValues.Order := loNone;
    end;
  end
Das erstellen funktioniert jetzt ohne Fehlermeldungen, allerdings bekomme ich kein Diagramm angezeigt... Was fehlt noch?
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Dynamisches DBChart befüllen

  Alt 20. Apr 2010, 10:50
Hallo AnyKey,

Du musst noch das Feld in die Series eintragen.

z.B. Die Datenbank besteht aus 2 Felder nennen wir sie mal [MW_DATUMUHRZEIT] und [MW_MW] in der Datenbank werden Messwerte zu einem bestimmten Datum und Uhrzeit abgelegt.

Dann müsste man die Felder mit der Series verbinden z.B. der DateTimeStamp auf die x-Achse:

Series1.XLabelsSource:= ´MW_DATUMUHRZEIT‘; Die Messwerte sollen auf der y-Achse angezeigt werden:

Series1.yValues.ValueSource:= ´MW_MW‘; Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
AnyKey

Registriert seit: 15. Apr 2008
173 Beiträge
 
#5

Re: Dynamisches DBChart befüllen

  Alt 20. Apr 2010, 11:34
Super, danke!!

Sind die Werte bei einem Kreisdiagramm dann genauso gesetzt?

Edit: Ok, habs rausgefunden, funktioniert jetzt!

Wie kann ich das denn machen wenn ich eine Abfrage auf die Datenbank mache? Wie und wo muss ich auf dann auf das Query zugreifen?

Edit: Ok, auch das hat sich erledigt, habs rausgefunden!

Danke noch mal für eure Hilfe!

Gruß
AnyKey
  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 02:34 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