Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Im DbGrid Daten geordnen anzeigen? (https://www.delphipraxis.net/55673-im-dbgrid-daten-geordnen-anzeigen.html)

smart 25. Okt 2005 09:15

Datenbank: ABS • Version: 488 • Zugriff über: Datascore

Im DbGrid Daten geordnen anzeigen?
 
Kann man mit DbGrid Daten so anzeigen, dass wenn man z.B. ein A eingibt, alle Daten die mit A anfangen angezeigt werden? Oder wie macht man soetwas?

Sharky 25. Okt 2005 09:29

Re: Im DbGrid Daten geordnen anzeigen?
 
Zitat:

Zitat von smart
Kann man mit DbGrid Daten so anzeigen, dass wenn man z.B. ein A eingibt, alle Daten die mit A anfangen angezeigt werden? Oder wie macht man soetwas?

Hai Heike,

eine möglichkeit wäre die Eigenschaft Delphi-Referenz durchsuchen.Filter des DataSets zu verwenden. Das könnte zum Beispiel so aussehen für das Datenbankfeld name
Delphi-Quellcode:
procedure TForm1.DBGrid2KeyPress(Sender: TObject; var Key: char);
begin
  with (Sender as TDBGrid).DataSource.DataSet do
  begin
    if (Key in ['a'..'z']) then
    begin
      FilterOptions := [foCaseInsensitive];
      Filter := 'name = ' + QuotedStr(Key + '*');
      Filtered := True;
    end;
    if Key = #27 then
    begin
      Filtered := False;
    end;
  end;
end;

r_kerber 25. Okt 2005 10:48

Re: Im DbGrid Daten geordnen anzeigen?
 
Zitat:

Zitat von Sharky
eine möglichkeit wäre die Eigenschaft Delphi-Referenz durchsuchen.Filter des DataSets zu verwenden.

Oder man verwendet eine Query und setzt die Eigenschaft SQL entsprechend:
SQL-Code:
SELECT * FROM tabelle WHERE spalte1 LIKE :muster
Den Parameter muster füllt man den zur Laufzeit (z.B.: 'a%').

woki 25. Okt 2005 11:19

Re: Im DbGrid Daten geordnen anzeigen?
 
Hi,

oder ganz grundsätzlich der Hinweis, für das Filtern und Sortieren von Daten ist das TDataset verantwortlich, nicht das TDBGrid, egal ob man serverseitig oder clientseitig filtert oder sortiert. Nur damit du an der richtigen Stelle suchst.

Grüsse
Wolki

smart 25. Okt 2005 13:41

Re: Im DbGrid Daten geordnen anzeigen?
 
Zitat:

Zitat von Sharky
eine möglichkeit wäre die Eigenschaft Delphi-Referenz durchsuchen.Filter des DataSets zu verwenden. Das könnte zum Beispiel so aussehen für das Datenbankfeld name

Vielen Dank, Stephan!

Ich habe das ganze noch einwenig geändert:
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  with ABSTable1.DataSource.DataSet do
  begin
       FilterOptions := [foCaseInsensitive];
       Filter := 'Name = ' + QuotedStr(Edit1.Text + '*');
       ABSTable1.Filtered := True;
  end;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  If Key = #27 then
  begin
    Edit1.Clear;
    ABSTable1.Filtered := False;
  end;
end;


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