AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...
Thema durchsuchen
Ansicht
Themen-Optionen

Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...

Ein Thema von juergen · begonnen am 8. Feb 2014 · letzter Beitrag vom 12. Feb 2014
Antwort Antwort
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#1

Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...

  Alt 8. Feb 2014, 19:52
Hallo zusammen,

das cxGridDBChartView von DevExpress ist mir noch völlig neu. Mit Charts hatte ich bis jetzt auch noch nichts zu schaffen gehabt...

Ich habe mir schon einiges angeschaut aber noch nichts zu meiner Frage gefunden.
Ich verwende 1 Tabelle mit Kundendaten und der jeweiligen Branche des Kunden.
Nun möchte auf der y-Achse die Branchen anzeigen lassen (das funktioniert schon).
Auf der x-Achse möchte ich die Anzahl der Kunden zu der jeweilige Branche als Zahl anzeigen.

Und da komme ich momentan nicht weiter.
Hat hierzu jemand Erfahrung/ eine Idee wie ich das umsetzen kann?

Vielen Dank schon mal vorab!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
VCLControls

Registriert seit: 14. Aug 2013
31 Beiträge
 
Delphi 7 Professional
 
#2

AW: Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...

  Alt 10. Feb 2014, 11:21
Mit dem ChartView habe ich auch noch nicht gearbeitet.
Aber in den Demos gibt es ein Projekt "ChartDataDrillingDemo" welches so aussieht, als ob es zu Deinem Problem passt.
Dort im ChartView ein Series angelegt und im Objektinspektor die Eigenschaft GroupSummary auf skCount gestellt und dem Diagramm zugewiesen.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...

  Alt 10. Feb 2014, 21:16
Hallo,
danke für deine Antwort!
Die Chartdemo hatte ich mir angesehen. Dort funktioniert alles.

Ich verstehe nicht, warum ich meiner Serie nur 2 Columns von meiner Abfrage zuweisen kann. Ich erwarte doch alle Columns um dann die "Branche" auszuwählen und dann genauso vorzugehen wie du es beschrieben hast.
Mein Hauptproblem scheint also zu sein, dass ich dem cxGridDBChartSeries unter => Databinding => FieldName nur 2 Columns zuordnen kann! Mir müssten hier doch alle 27 Columns meiner SQL-Abfrage angezeigt werden, oder?
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
VCLControls

Registriert seit: 14. Aug 2013
31 Beiträge
 
Delphi 7 Professional
 
#4

AW: Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...

  Alt 11. Feb 2014, 11:44
Mein Hauptproblem scheint also zu sein, dass ich dem cxGridDBChartSeries unter => Databinding => FieldName nur 2 Columns zuordnen kann! Mir müssten hier doch alle 27 Columns meiner SQL-Abfrage angezeigt werden, oder?
Einen unter FieldName steht ValueType. Anzeigen tut er nur was zum Typ passt. Einen Feldtypen mit z.B. einem String, wird gleich unterdrückt.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...

  Alt 12. Feb 2014, 21:40
Hallo,
komme erst heute zum Antworten.
Inzwischen hat mir der DevExpress Support weiter helfen können.
Die Anzahl der Kunden zu den Branchen muss berechnet werden. Das mache ich in einem neuen ClientDataSet. Das Ergebnis ist ein Integer und lässt sich dann auch der Serie zuordnen.

Die Berechenung sieht so aus:
Delphi-Quellcode:
function TForm1.GetValuesCount(const AFieldName: string): Integer;
var
  AField: TField;
begin
  Result := 0;
  AField := ClientDataSet2.Fields.FindField(AFieldName);
  if not ClientDataSet2.Active or (AField = nil) then Exit;
  ClientDataSet2.DisableControls;
  ClientDataSet2.First;
  while not ClientDataSet2.Eof do
  begin
    if not VarIsNull(AField.Value) then
      Inc(Result);
     ClientDataSet2.Next;
  end;
  ClientDataSet2.EnableControls;
end;

procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet);
begin
  DataSet.FieldByName('Value').AsInteger := GetValuesCount((DataSet.FieldByName('Category') as TStringField).AsString);
end;

procedure TForm1.ClientDataSet2AfterPost(DataSet: TDataSet);
begin
  // refresh calculated field
  ClientDataSet1.Close;
  ClientDataSet1.Open;
end;
Danke für deine Unterstützung!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  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:22 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