Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - DBChart filtern


Quake User - Do 31.03.11 00:18
Titel: DBChart filtern
Ich verwende ein DBChart, das eine Datenquelle TADOTable verwendet. Diesen ADOTable kann ich nun filtern. Das DBCHart zeigt danach trotzdem alle Datensätze an. Kenn jemand diesen Effekt?


Tranx - Do 31.03.11 03:40

Soweit ich das bei meinen DBCharts und - allerdings keine ADO-Tabellen - sehe, ist das nicht der Fall. Gefilterte Datentabellen werden auch gefiltert dargestellt. Alles andere wäre ja auch komisch. Vielleicht führst Du nach der Filterung einfach entweder ein Refresh des dbChart durch, oder schließt und öffnest die Datentabelle mit active := FALSE, gefolgt von Active := TRUE.

Ich gehe immer beim Filtern so vor:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
  with Tabelle do 
    active := FALSE;
    Filter := 'Name = '#39'Müller'#39;  // Beispiel eines Filtertextes
    filtered := TRUE;
    active := TRUE;
  begin
end;


Versuche das mal.


Quake User - Do 31.03.11 11:37

Als Nächstes möchte ich das DBChart sortieren. Mit

Delphi-Quelltext
1:
DBChart1.Series[0].SortByLabels(loAscending);                    

kann ich das Chart nach der Beschriftung der Achsen sortieren. Aber wie sortiere ich nach den Werten.
Genauer: Ich möchte die höchsten Werte oben und die Niedrigesten Werte unten.


Quake User - Do 31.03.11 11:41

user profile iconTranx hat folgendes geschrieben Zum zitierten Posting springen:
Soweit ich das bei meinen DBCharts und - allerdings keine ADO-Tabellen - sehe, ist das nicht der Fall. Gefilterte Datentabellen werden auch gefiltert dargestellt. Alles andere wäre ja auch komisch. Vielleicht führst Du nach der Filterung einfach entweder ein Refresh des dbChart durch, oder schließt und öffnest die Datentabelle mit active := FALSE, gefolgt von Active := TRUE.

Ich gehe immer beim Filtern so vor:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
  with Tabelle do 
    active := FALSE;
    Filter := 'Name = '#39'Müller'#39;  // Beispiel eines Filtertextes
    filtered := TRUE;
    active := TRUE;
  begin
end;


Versuche das mal.


Ich habe das Probelm gefunden. Das DBChart aktualisiert sich nicht, nachdem sich die Datenquelle, bspw. durch filtern, geändert hat.
Die anderen Komponenten verhalten sich nicht so. Ein Grid oder Edit muss ich nicht manuell refreshen. Ist das ein Bug oder ein Feature?


Quake User - So 03.04.11 23:32

user profile iconQuake User hat folgendes geschrieben Zum zitierten Posting springen:
Als Nächstes möchte ich das DBChart sortieren. Mit

Delphi-Quelltext
1:
DBChart1.Series[0].SortByLabels(loAscending);                    

kann ich das Chart nach der Beschriftung der Achsen sortieren. Aber wie sortiere ich nach den Werten.
Genauer: Ich möchte die höchsten Werte oben und die Niedrigesten Werte unten.


Keiner eine Idee zum sortieren von DBChart?