Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse... (https://www.delphipraxis.net/179012-quantum-cxgriddbchartview-x-achse-mit-anzahl-der-daten-aus-der-y-achse.html)

juergen 8. Feb 2014 18:52

Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...
 
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!

VCLControls 10. Feb 2014 10:21

AW: Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...
 
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.

juergen 10. Feb 2014 20:16

AW: Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...
 
Hallo,
danke für deine Antwort! :thumb:
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?

VCLControls 11. Feb 2014 10:44

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

Zitat von juergen (Beitrag 1247346)
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.

juergen 12. Feb 2014 20:40

AW: Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...
 
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! :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 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