Entwickler-Ecke
Datenbanken - Filter in DBgrid
Philipp_Reitter - Do 25.05.06 11:00
Titel: Filter in DBgrid
hi
ich hab ne datenbank in einem DBgrid nur jetzt will cih so was wie nen filter drinnen haben.... es sieht so aus
Kategorie Name Bezeichnung
10 1 k10n1
10 2 k10n2
11 1 k11n2
...
..
kann man da irgendwie sagen dass er nur die die am anfang 10 haben hineintzun soll...??
hoffe mir kann jemand helfen
danke im vorraus
Xion - Do 25.05.06 11:06
dazu brauchst du ein query und sql. Verknüpfe die DBGrid mit dem Query und schreibe ins Query
SELECT * FROM Deine_Tabelle WHERE dasFeld LIKE ''10%''
Das % bedeudet, dass nach der 10 noch beliebig viele Zeichen kommen können
Xion
EDIT: ich glaube das Table hat ein Feld namens 'Filter' im Object Inspector. da kannst dann dasFeld LIKE ''10%'' reinschreiben und Filter aktivieren (da muss auch noch ne boolean-variable im OI sein ;) )
EDIT 2: nenn dein Topic besser in 'BDE: Filter in DBGrid' um
Philipp_Reitter - Do 25.05.06 12:08
nix check..... hab das jetzt volle oft prbiert aber es kommt nichts heraus....
Xion - Do 25.05.06 12:17
du hast doch ein Table, oder? Klick das an und schreibe unter Filter:
FELD LIKE '10%'
und schalte Filtered auf TRUE
so müsste es gehen.
oder aber mit SQL (Stichwort Query)
Philipp_Reitter - Do 25.05.06 17:49
dann sagt er aber 'Operation nicht anwendbar'
thommy f - Fr 26.05.06 20:08
Probier´s mal so:
Delphi-Quelltext
1: 2:
| Datenmodul.Table1.Filter :='Kategorie = ''10'''; Datenmodul.T_Kunden.Filtered := True; |
Auf die Zahl der Hochkommas aufpassen und den Quellcode z.B. beim OnShow-Ereignis deines DBGrid einbauen.
Sollte gehen
mkinzler - Fr 26.05.06 20:13
Das Problem mit den Hochkommas kann man z.B, auch so umgehen:
Delphi-Quelltext
1:
| Datenmodul.Table1.Filter :='Kategorie = '+QuotedString('10%'); |
Clientseitige Filter per .Filter-Eigenschaft sind aber nicht optimal, besser wäre es einen TQuery anstatt eines TTable zu nehmen und dann ein "Filter" per SQL-Where-Clause zu machen.
raiguen - Di 30.05.06 15:45
Moin :)
mkinzler hat folgendes geschrieben: |
Das Problem mit den Hochkommas kann man z.B, auch so umgehen:
Delphi-Quelltext 1:
| Datenmodul.Table1.Filter :='Kategorie = '+QuotedString('10%'); |
|
Prinzipiell richtig, wenn der Filterbegriff ein String ist. Allerdings bei TTable (unter Verwendung der BDE) ist das WildCardZeichen
%nicht richtig und versucht den beschriebenen Fehler 'Unzlässige Operation' bzw 'Operation nicht anwendbar'. Wenn Clientseitig gefiltert werden soll (oder muss) dann muss der Filterausdruck so heißen:
Quelltext
1:
| Datenmodul.Table1.Filter :='Kategorie = '+QuotedString('10*'); |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!