AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi "Live Preview" zum Suchen mittels Texteingabe
Thema durchsuchen
Ansicht
Themen-Optionen

"Live Preview" zum Suchen mittels Texteingabe

Ein Thema von Der schöne Günther · begonnen am 25. Feb 2014 · letzter Beitrag vom 25. Feb 2014
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: "Live Preview" zum Suchen mittels Texteingabe

  Alt 25. Feb 2014, 15:49
Nichts machen, bis der Benutzer aufhört zu tippen. (z.B. Bei jedem Tastendruck einen Timer starten, der auf 100ms eingestellt ist. Im OnTimer des Timers dann die Suche ausführen).

Ich würde das per ADO mit FetchAsync laufen lassen. Bei jedem Neustart der Suche (siehe Timer) wirst Du die aktuelle Query ggf. abbrechen (geht bei FetchAsync ganz einfach) und neu starten. Die Daten kommen vom Server dann schön asynchron, in Happen und alles sieht sehr flüssig aus. Isses auch.

Nur wenn der Server richtig ackern muss (weil eine Suchspalte nicht indexiert ist), dauert das Abbrechen und die Sache kommt ins Stottern. Deshalb nimmt man für eine coole Livesuche auch einen Volltextindex, aber das ist wieder eine etwas andere Geschichte (Indexed View mit PK und Suchtext usw.)

Oder Du machst alles einfach in-memory und spielst mit der OnFilterRecord Geschichte herum. Das ist aber auch erstaunlich langsam, also immer schön im Hintergrund filtern.

Nach den ersten x Zeichen (3 ist schon mal eine gute Wahl) werden die Daten beim Server abgeholt. Alle weiteren werden dann im Delphi-Referenz durchsuchenTDataSet.OnfilterRecord weiter gefiltert.
Ich würde das ggf. noch von der Anzahl der zu erwartenden Daten abhängig machen. Wenn da 1000000 Records kommen, wird es vielleicht doch etwas langsam.

Ach, MSSQL ist ideal dafür.

Geändert von Furtbichler (25. Feb 2014 um 15:51 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz