Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Merkwürdige Anzeige in StringGrid bei Query Filter (https://www.delphipraxis.net/180044-merkwuerdige-anzeige-stringgrid-bei-query-filter.html)

Nils S. 18. Apr 2014 12:49

Merkwürdige Anzeige in StringGrid bei Query Filter
 
Hallo zusammen,

ich habe eine Form, welche eine Benutzerverwaltung realisiert und alle angelegten Benutzer in einem StringGrid auflistet,
welches über eine Query gefüllt wird.
Es gibt ein TEdit zur freien Suche, wonach dann das Query gefiltert wird.

Ich arbeite mit XE5, FireMonkey und als Datenbankkomponente verwnde ich FireDAC.

Ich habe es, relativ umständlich, hin bekommen:

Delphi-Quellcode:
procedure SetQryUserFilter;
begin
  if UserSettingsFrm.edtFreeSearch.Text <> '' then //TEdit in dem frei gesucht werden kann
  begin
    with UserDat.qryUser do //Query mit der Benutzertabelle aus der Datenbank
    begin
      Filter :=
        ('lower(LAST_NAME) like ''%' + UserSettingsFrm.edtFreeSearch.Text + '%''' +
        ' or lower(FIRST_NAME) like ''%' + UserSettingsFrm.edtFreeSearch.Text + '%''' +
        ' or lower(LOGIN_NAME) like ''%' + UserSettingsFrm.edtFreeSearch.Text + '%''' +
        ' or lower(USER_PROFILE) like ''%' + UserSettingsFrm.edtFreeSearch.Text + '%''');
      Filtered := True;
    end;
  end
  else
  begin
    with UserDat.qryUser do
    begin
      Filter := '';
      Filtered := False;
    end;
  end;
  GetTableUser; //Prozedur, die qryUser.Active auf False und True setzt um Benutzertabelle aus Datenbank neu zu laden.
  SetStrngrdUserFormat; //Prozedur, die die Formatierung des StingGrid setzt.
end;
Komisch ist nun, wenn ich die beiden letzten Prozeduren weg lasse, kommt es zu ganz merkwürdigen Anzeigen im Grid.
Teilweise werden Personen doppelt angezeigt und andere dafür gar nicht.
Teilweise wird nur ein Benutzer angezeigt bis ich ins Grid klicke, dann werden plötzlich wieder alle angezeigt.

Hat jemand ähnliche Erfahrung und/oder nen heißen Tipp für mich?

Des weiteren habe ich feststellen müssen, dass es kein AnsiLowerCase gibt.
Muss ich dazu etwas bestimmtes in die uses Klausel aufnehmen oder gibt es was vergleichbares?
Würde das halt gerne beim Filter auf das TEdit anweden, damit Groß- und Kleinschreibung ignoriert wird.

Jumpy 22. Apr 2014 11:49

AW: Merkwürdige Anzeige in StringGrid bei Query Filter
 
Zitat:

Zitat von Nils S. (Beitrag 1256152)
Des weiteren habe ich feststellen müssen, dass es kein AnsiLowerCase gibt.
Muss ich dazu etwas bestimmtes in die uses Klausel aufnehmen oder gibt es was vergleichbares?
Würde das halt gerne beim Filter auf das TEdit anweden, damit Groß- und Kleinschreibung ignoriert wird.

Bei meinem alten Delphi steht das in SysUtils oder war es StringUtils? Da würd ich mal nachgucken.

Nils S. 22. Apr 2014 15:37

AW: Merkwürdige Anzeige in StringGrid bei Query Filter
 
Ahhh.
Sehr cool, vielen Dank.
Es ist SysUtils.

Gibt es da einen Trick, wie man sowas am besten raus findet?

himitsu 22. Apr 2014 16:00

AW: Merkwürdige Anzeige in StringGrid bei Query Filter
 
Zitat:

Zitat von Nils S. (Beitrag 1256538)
Gibt es da einen Trick, wie man sowas am besten raus findet?

In Welcher unt man etwas findet?

=> OH

Oder Strg+Shift+F und das Delphi-Verzeichnis durchsuchen. :stupid:


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