![]() |
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! |
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. |
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? |
AW: Quantum-cxGridDBChartView: x-Achse mit Anzahl der Daten aus der y-Achse...
Zitat:
|
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:
Danke für deine Unterstützung! :dp:
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz