Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi bestimmte datensätze in dbgrid anzeigen (https://www.delphipraxis.net/152448-bestimmte-datensaetze-dbgrid-anzeigen.html)

Ouou 23. Jun 2010 10:43

bestimmte datensätze in dbgrid anzeigen
 
Mahlzeit delphianier :),

ich besitze in meinem Projekt 2 DBGrid und 1 TTable. Nun möchte ich gerne das ich von der TTable nur bestimmte Datensätze in einem Grid anzeigen lassen möchte und nicht alle.

Kann jemand helfen?

mfg

DelphiBandit 23. Jun 2010 10:45

AW: bestimmte datensätze in dbgrid anzeigen
 
Entweder Du nimmst gleich ein TQuery statt dessen und schränkst die Datensätze mittels der SQL-Anweisung ein.

Oder Du nutzt bei Deinem TTable einen "Filter" / "Filtered := True".

Table hat imho den Nachteil, dass immer die gesamte Datenmenge angefordert und durchgegrast werden muss.

hoika 23. Jun 2010 10:49

AW: bestimmte datensätze in dbgrid anzeigen
 
Hallo,

bei TTable wäre auch noch das OnFilter-Event zu nennen.

Eine andere Lösung ist das TClientDataSet.


Heiko

Ouou 24. Jun 2010 13:35

AW: bestimmte datensätze in dbgrid anzeigen
 
Danke schon mal für die tipps...ich hätte noch sagen sollen das ich mich mit sql noch nicht beschäftig habe und somit immer noch bei paradox rumstolper...:|. Habe mich mal durch das forum geschlagen und geschaut ob ich für das Filtern einer TTable was finde, weil jeder es mit sql macht... Kann jemand nen kleinen anstoss geben?

mfg

mkinzler 24. Jun 2010 13:36

AW: bestimmte datensätze in dbgrid anzeigen
 
Delphi-Quellcode:
Table.Filter := '<Bedingung>';
Table.filtered := True;

Ouou 24. Jun 2010 13:52

AW: bestimmte datensätze in dbgrid anzeigen
 
Ich komm mit der Bedingung iwie nicht so ganz klar...

Delphi-Quellcode:
FrameTabellen.TableTabellen.Filter := 'Team'+ QuotedStr(Form1.FrameTabellen.DBGridGruppeA.SelectedField.Text);
      FrameTabellen.TableTabellen.Filtered := True;
oder reicht es wenn man für die Bedinung nur den gewollten eintrag der in der db vorhanden ist eingegeben wird?

DeddyH 24. Jun 2010 13:59

AW: bestimmte datensätze in dbgrid anzeigen
 
Delphi-Quellcode:
FrameTabellen.TableTabellen.Filter := 'Team ='+ QuotedStr(Form1.FrameTabellen.DBGridGruppeA.SelectedField.Text);
Da fehlte wohl das Gleichheitszeichen.

Ouou 24. Jun 2010 14:09

AW: bestimmte datensätze in dbgrid anzeigen
 
Jop das hat gefehlt :). Aber mir wird bis jetzt nur die Spalten(Feldnamen) angezeigt und nicht die eingegebenen Datensätze. Wie filtere ich 4 Datensätze heraus und lass sie in der dbgrid anzeigen?

DeddyH 24. Jun 2010 14:11

AW: bestimmte datensätze in dbgrid anzeigen
 
Wenn keine Datensätze zu sehen sind, entsprechen wohl auch keine den Filterbedingungen. Du solltest diese noch einmal genau überprüfen.

Ouou 24. Jun 2010 14:22

AW: bestimmte datensätze in dbgrid anzeigen
 
Was meinst du genau mit Filterbedingungen? Bei Feldname "Team" habe ich mehrere Datensätze aber mir wird kein einziger davon angezeigt.

DeddyH 24. Jun 2010 14:24

AW: bestimmte datensätze in dbgrid anzeigen
 
Lass Dir den Filter doch einmal ausgeben. Wenn Du z.B. sagst
Code:
Team='Hützelgrütz'
werden Dir auch nur die Datensätze angezeigt, bei denen das Feld Team "Hützelgrütz" (in genau dieser Schreibweise) enthält. Gibt es keinen entsprechenden, bleibt das Grid logischerweise leer.

Ouou 24. Jun 2010 14:39

AW: bestimmte datensätze in dbgrid anzeigen
 
du meinst so:?

Delphi-Quellcode:
FrameTabellen.TableTabellen.Filter := 'Team=Südafrika'+ QuotedStr(Form1.FrameTabellen.DBGridGruppeA.SelectedField.Text);

DeddyH 24. Jun 2010 14:43

AW: bestimmte datensätze in dbgrid anzeigen
 
Nee, eher so:
Delphi-Quellcode:
FrameTabellen.TableTabellen.Filter := 'Team='+QuotedStr('Südafrika');
Ich muss aber zugeben, dass ich nie mit TTable und somit Filter arbeite.

Ouou 24. Jun 2010 14:48

AW: bestimmte datensätze in dbgrid anzeigen
 
Klappt wunderbar nur weise ich so den datensatz keiner dbgrid mehr zu.

DeddyH 24. Jun 2010 14:50

AW: bestimmte datensätze in dbgrid anzeigen
 
Wie meinen? Das DataSet der DataSource des Grid (klingt umständlich, ich weiß) ist doch die TTable, oder nicht?

Ouou 24. Jun 2010 14:52

AW: bestimmte datensätze in dbgrid anzeigen
 
ja schon :) nur besitze ich 1 table und 8 dbgrid komponenten. nun wollte ich nur eine table verwenden und so bestimmte datensätze in den einzelnen dbgrids anzeigen lassen.

DeddyH 24. Jun 2010 14:56

AW: bestimmte datensätze in dbgrid anzeigen
 
Achso, also verschiedene Filter je Grid? Das wirst Du vermutlich mit einer einzigen TTable nicht hinbekommen, es sei denn, irgendein Crack hier kennt noch einen Trick.

Ouou 24. Jun 2010 14:57

AW: bestimmte datensätze in dbgrid anzeigen
 
hmm ok... dann meldet euch mal ihr cracks wenn ihr noch nen tipp haben solltet :-D

mkinzler 24. Jun 2010 14:58

AW: bestimmte datensätze in dbgrid anzeigen
 
Es gibt Grids, welche einen internen Filter besitzen. Sonst wird es nicht gehen

Ouou 24. Jun 2010 15:02

AW: bestimmte datensätze in dbgrid anzeigen
 
und was sind des für grids? anscheinend keine normalen dbgrids...

DeddyH 24. Jun 2010 15:08

AW: bestimmte datensätze in dbgrid anzeigen
 
Vermutlich kostenpflichtige Zusatzkomponenten (DevExpress z.B.)


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