AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi DevExpress: Filter mißbrauchen

DevExpress: Filter mißbrauchen

Ein Thema von haentschman · begonnen am 7. Feb 2018 · letzter Beitrag vom 7. Feb 2018
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#1

DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 08:20
Moin...

Mir geht es erstmal darum, ob mein Vorhaben realisierbar ist.

Gegeben:

cxGrid mit Filterleiste (Bild). Die dahinterliegende Datenmenge wird über einen zusätzlichen Dialog eingeschränkt. (Zeitraum)
Es kommt vor das der User aber Daten sehen möchte die nicht in der Einschränkung liegen. Da bedeutet, das der User wissen müßte, in welchem Zeitraum die Daten liegen.

Vorstellung:

Ich hätte gern die Auswahl wie gehabt eingeschränkt. Aber wenn ein Filterkriterium eingetragen wird, wird ein komplettes SQL ausgeführt statt nur die Datenmenge visuell eingeschänkt. Wird das Kriterium wieder entfernt, wird die Datemenge auf die Ausgangseinschränkung gesetzt.

Frage:
Geht das über die Filterleiste (Event mit dem Filtertext) oder muß ich mir eine eigene Lösung ausdenken?

Danke...
Miniaturansicht angehängter Grafiken
grid.png  

Geändert von haentschman ( 7. Feb 2018 um 08:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 08:42
Da gibt es ja mehrere Events, die vielversprechend klingen, um dort einzuhaken.
Z.B. DataController.OnFilterRecord oder DataController.Filter.OnBeforeChange, DataController.Filter.OnChanged.
Jens
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.734 Beiträge
 
Delphi 2007 Professional
 
#3

AW: DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 08:47
Vorstellung:
Ich hätte gern die Auswahl wie gehabt eingeschränkt. Aber wenn ein Filterkriterium eingetragen wird, wird ein komplettes SQL ausgeführt statt nur die Datenmenge visuell eingeschänkt. Wird das Kriterium wieder entfernt, wird die Datemenge auf die Ausgangseinschränkung gesetzt.
Heißt das nicht, dass du immer die dahinterliegenden Daten filtern willst - entweder nur über Voreinschränkung oder (auch) über Kriterium aus der Filterleiste?
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#4

AW: DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 09:00
Beispiel:

Der Vorgabezeitraum sind 3 Monate. Diese Daten werden im Grid angezeigt. (z.B. 50 Datensätze) Jetzt möchte ich eine Auftragsnummer sehen die 6 Monate zurück liegt. Die ist in der Originaldatenmenge nicht drin. Jetzt möchte ich über den "Filtertext" und die Spalte
ein SQL erzeugen welches NUR die Datensätze mit dem "Filtertext" unabhängig vom Zeitraum liefert. (jetzt habe ich im Dataset z.B. einen Auftrag)

Die Frage ist die, ob ich den "Filtertext" für das SQL mißbrauchen kann und wie ich den geliefert kriege.

Zitat:
DataController
...gute Idee.

Geändert von haentschman ( 7. Feb 2018 um 10:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.734 Beiträge
 
Delphi 2007 Professional
 
#5

AW: DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 09:03
Die Frage ist die, ob ich den "Filtertext" für das SQL mißbrauchen kann un die ich den geliefert kriege.
Ich kenn mich mit den DB-Controls nicht aus, aber kann man die nicht so konfigurieren, dass sie die Filterung selbständig per SQL durchführen? Server mode oder so?
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#6

AW: DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 10:07
Zitat:
Ich kenn mich mit den DB-Controls nicht aus, aber kann man die nicht so konfigurieren, dass sie die Filterung selbständig per SQL durchführen?
...in diesem Falle nicht. Die Filterung im Grid erfolgt nur lokal.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#7

AW: DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 10:35
Also du willst, dass nur die angezeigten Records im Grid gefiltert haben, aber auf die Vorschlagsliste der Filter-Funktion soll der Filter nicht angewendet werden.

Müsstest mal nachsehn wie/wo diese Daten her kommen und ob dort der Filter umgangen werden kann.
Nicht aus den bereits gefilterten Daten sondern aus den ungefilterten Rohdaten.
Ich denke die gehen auf die "Cache" im DataController, aber ich vermute der DataController hat keine Kopie der kompletten Daten, sondern nur die Gefilterte. Also müsste diese Vorschlagsliste "langsamer" aus der DataSource/DataSet kommen.

Oder direkt die von DevExpress fragen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 7. Feb 2018 um 10:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#8

AW: DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 14:26
Zitat:
Müsstest mal nachsehn wie/wo diese Daten her kommen und ob dort der Filter umgangen werden kann
Das nützt mir aber nichts wenn der "Auftrag" in der zugrunde liegenden Datenmenge (3 Monate) nicht auftaucht. Ich muß im Falle einer "Filterung" immer ein komplettes SQl absetzen, weil ich die "Suche" in der DB über den gesamten Zeitraum (alle Datenssätze) möchte!

Ich möchte eigentlich nur das Eingabefeld des Filters "mißbrauchen".
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#9

AW: DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 15:05
Die Frage ist die, ob ich den "Filtertext" für das SQL mißbrauchen kann und wie ich den geliefert kriege.
Den FilterText bekommst Du über cxGrid1DBTableView1.DataController.Filter.FilterTe xt

Der Filtertext muss eventuell etwas angepasst werden z.B. Boolean Werte.

Das funktioniert bei mir sehr gut.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#10

AW: DevExpress: Filter mißbrauchen

  Alt 7. Feb 2018, 16:01
Danke erst mal...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:42 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