AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

DBGrid Filter

Ein Thema von t0mmy · begonnen am 15. Nov 2011 · letzter Beitrag vom 7. Aug 2013
Antwort Antwort
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#1

DBGrid Filter

  Alt 15. Nov 2011, 14:12
Hallo!

Also ich lese aus einer Datenbank bestimmte Werte aus und schreibe diese dann in ein DBGrid.
Jetzt würd ich gern wissn wie ich gewisse sachen filtern kann z.B.: wenn in der zweiten spalte in einer zeile "keine Ausgabe" drinnen steht dann möcht ich gern diese zeile ganz löschen oder nicht anzeigen. (in der DBGrid)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: DBGrid Filter

  Alt 15. Nov 2011, 14:58
Also ich lese aus einer Datenbank bestimmte Werte aus und schreibe diese dann in ein DBGrid
Das kann ich nicht so ganz glauben ... kann es nicht vielleicht eher sein, dass du dem DBGrid ein DataSource zuweist?
Und dem DataSource hast du vorher noch ein DataSet zugewiesen?

Das DBGrid zeigt nun alle Zeilen vom DataSet an. Beim DataSet hast du die Möglichkeit einen Filter zu setzen, und das hat wiederum direkte Auswirkungen auf das DBGrid.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

AW: DBGrid Filter

  Alt 15. Nov 2011, 16:26
Grundsätzlich gibt es drei verschiedene Möglichkeiten, um Daten (die in einem DBGrid angezeigt werden) zu filtern:

1.) über SQL
Vorteil: schnell, wenig Resourcenverbrauch
Nachteil: nur mässig flexibel, aufwändig wenn Filter zur Laufzeit generiert werden soll
2.) über Property Filter
Vorteil: einfach zu verwenden, Filter dynamisch zur Laufzeit änderbar
Nachteil: je nach Datenmenge teilweise sehr schlechte Performance
3.) über Event OnFilterRecord
Vorteil: sehr komplexe Filterbedinungen sind möglich
Nachteil: wie 2.)

Alle diese 3 Filtertechniken setzen am TDataset bzw. TQuery an.
Ein DBGrid kann selbst nicht filtern, sondern es zeigt nur das an, was sich in der Datenmenge befindet.
Andreas
  Mit Zitat antworten Zitat
Palme

Registriert seit: 21. Jun 2013
7 Beiträge
 
#4

AW: DBGrid Filter

  Alt 6. Aug 2013, 21:42
Hallo zusammen,

ich habe genau das gleiche problem, wie kann ich meine Datenbank filtern?, ich habe eine tabelle über datasource und dbf erstellt. Nun möchte ich beispielsweise, dass alle Namen in der Tabelle alphabetisch sortiert werden, wie geht das ?

danke schon mal im Vorraus
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: DBGrid Filter

  Alt 6. Aug 2013, 22:28
Hallo...
bitte benutze einfach mal die Suchfunktion oder die Delphi-Referenz.
1 Minute Sucharbeit: http://docwiki.embarcadero.com/Libra...DataSet.Filter

Nachtrag:
..ich sollte mal zu Ende lesen. Filtern hat nix mit Sortieren zu tun. Beschäftige dich mal mit TQuery und SQL. Dazu findes du reichlich Seiten. http://www.google.de/#bav=on.2,or.r_...q=sql+tutorial

Geändert von haentschman ( 6. Aug 2013 um 22:38 Uhr)
  Mit Zitat antworten Zitat
Palme

Registriert seit: 21. Jun 2013
7 Beiträge
 
#6

AW: DBGrid Filter

  Alt 6. Aug 2013, 22:41
danke
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: DBGrid Filter

  Alt 6. Aug 2013, 22:50
Alternativ, wenn du eine Tabelle benutzt: http://docwiki.embarcadero.com/Libra...able.IndexName
...ist aber, sagen wir mal veraltet. Der entsprechende Index muß in der Tabelle angelegt sein. Besser du beschäftigst dich gleich mit SQl. Da hast du beim Umstieg von der BDE weg weniger Schwierigkeiten mit anderen DBMS.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: DBGrid Filter

  Alt 7. Aug 2013, 01:33
wie kann ich meine Datenbank filtern?, ich habe eine tabelle über datasource und dbf erstellt. Nun möchte ich beispielsweise, dass alle Namen in der Tabelle alphabetisch sortiert werden, wie geht das ?
"Sortierte Ausgabe" und "Filter setzen" sind zwei völlig verschiedene Stiefel.

Ein Filter benennt Werte von einer oder mehreren Spalten, die gegeben sein müssen, damit der Datensatz zur Anzeige ausgewählt wird. Die Filterbedingung kann bei den meisten Datasets im Property FILTER gesetzt werden, wobei zuvor das Property FILTERED zu deaktivieren und anschließend wieder zu aktivieren ist. Alternativ – wenn du ein Query mit entpsrechendem Select-Befehl einsetzt – kannst du auch über die Where-Bedingung filtern:
Code:
select * from TABELLE where NACHNAME = 'Meier';
listet dir alle Datensätze auf, die in der Spalte NACHNAME die Zeichenfolge 'Meier' stehen haben. Wildcards sind ebenfalls möglich:
Code:
select * from TABELLE where NACHNAME like 'M%';
zeigt alle Datensätze, deren Zeichenfolge in der Spalte NACHNAME mit einem großen M beginnen.

Die Sortierung erfolgt in dem meisten Datasets mit dem Property IndexFieldNames oder alternativ, wenn du ein Query einsetzt, auch bereits im Select-Befehl:
Code:
select * from TABELLE order by NACHNAME;
Für weitergehende Informationen suchst du dir bitte ein passendes Tutorial zum Erlernen von SQL (Structured Query Language), um wenigstens die Grundlagen der Datenbankabfrage zu verstehen.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#9

AW: DBGrid Filter

  Alt 7. Aug 2013, 07:41
@Perlsau:
  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 16:12 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