AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ListView Performance bei vielen Datensätzen (FMX)
Thema durchsuchen
Ansicht
Themen-Optionen

ListView Performance bei vielen Datensätzen (FMX)

Ein Thema von fisipjm · begonnen am 15. Jul 2024 · letzter Beitrag vom 22. Jul 2024
Antwort Antwort
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
455 Beiträge
 
Delphi 12 Athens
 
#1

AW: ListView Performance bei vielen Datensätzen (FMX)

  Alt 17. Jul 2024, 16:21
Machst du ein Feature draus. Die Software merkt sich immer den letzten Filter und wenn es noch keinen gab, gibst du einen "Mustermann"-Filter oder was da sonst so passt vor.
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
328 Beiträge
 
Delphi 12 Athens
 
#2

AW: ListView Performance bei vielen Datensätzen (FMX)

  Alt 17. Jul 2024, 16:40
Machst du ein Feature draus. Die Software merkt sich immer den letzten Filter und wenn es noch keinen gab, gibst du einen "Mustermann"-Filter oder was da sonst so passt vor.
Was da sonst so passt, kann ich nicht bestimmen. Das ist davon abhängig was der Kunde in seine Datenbank wirft. Das ist ja genau der Grund, warum ich auch gerne die Möglichkeit hätte die ganze Liste anzuzeigen.
Kennst ja sicher die Kunden die dir auf "hier müssen sie einen Filter vorgeben" antworten mit, "aber woher weis ich denn nach was ich filtern kann".
So in die Richtung geht das
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
455 Beiträge
 
Delphi 12 Athens
 
#3

AW: ListView Performance bei vielen Datensätzen (FMX)

  Alt 17. Jul 2024, 16:47
Machst du ein Feature draus. Die Software merkt sich immer den letzten Filter und wenn es noch keinen gab, gibst du einen "Mustermann"-Filter oder was da sonst so passt vor.
Was da sonst so passt, kann ich nicht bestimmen. Das ist davon abhängig was der Kunde in seine Datenbank wirft. Das ist ja genau der Grund, warum ich auch gerne die Möglichkeit hätte die ganze Liste anzuzeigen.
Kennst ja sicher die Kunden die dir auf "hier müssen sie einen Filter vorgeben" antworten mit, "aber woher weis ich denn nach was ich filtern kann".
So in die Richtung geht das
Das ist blöd... Solche Kunden hab ich auch. Mi, mi, mi, das war früher aber anders. Oft haben sie sich aber nach ein paar Tagen oder Wochen daran gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#4

AW: ListView Performance bei vielen Datensätzen (FMX)

  Alt 17. Jul 2024, 17:06
Das Anzeigen aller Daten in einer Liste mit 138.000 Einträgen, die der Kunde eh nicht in ihrer Gänze verarbeiten kann, zeugt in der Regel von einem Informationsdefizit, was der Kunde wie oft von der Liste wissen will.

Das ist natürlich stark von dem konkreten Anwendungsfall abhängig, aber mit etwas Recherche und ggf. dem Kunden bei der Arbeit über die Schulter gucken kann man schon so einiges herausfinden.

Handelt es sich z.B. um über einen langen Zeitraum erfasste Einträge, sind eventuell nur die letzten Tage, Wochen oder Monate überwiegend im täglichen Gebrauch relevant. Dann wäre vielleicht ein entsprechender Filter als Default geeignet. Für ältere Einträge aus einem bestimmten Zeitraum muss der Kunde diesen eben angeben.

Anderer Fall: Es handelte sich um eine Liste mit Adress- und Kontaktdaten. Dann wäre eine Eingabemaske mit bestimmten Suchkriterien die erste Wahl (Stichwort: QBE).

Leider kann der Kunde diese Art von Anforderungen meistens nur schwer oder gar nicht kommunizieren. Auf eine Frage wie "Was brauchst du am häufigsten?" folgt oft die Angst, dass alles was darauf nicht genannt wird dann später auch nicht möglich ist. Da hilft dann halt nur Zusehen und Nachfragen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
455 Beiträge
 
Delphi 12 Athens
 
#5

AW: ListView Performance bei vielen Datensätzen (FMX)

  Alt 17. Jul 2024, 17:13
Da hilft dann halt nur Zusehen und Nachfragen.
So ist das... Und wenn man darin ziemlich gut ist, meckert auch keiner, wenn mal was nicht so gut auf Anhieb funktioniert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#6

AW: ListView Performance bei vielen Datensätzen (FMX)

  Alt 17. Jul 2024, 17:29
Nja, wenn noch kein Filter vorhanden, dann "alles" laden (mit Limit, damit nicht zuviel/langsam)
oder zu Beginn eben garnichts automatisch laden. (erst nach Eingabe/Enter)

WHERE einem LIKE :Filter + '%'
dann noch ein LIMIT 100 (oder so) dran

Wenn RecordCount = das Limit,
dann noch ein Label/Hint anzeigen, dass eventuell nicht alles angezeigt wird und man vielleicht den Filter anpassen könnte,
und/oder einen Knopf/Link "alles Laden", welcher das Limit erhöht, bzw. entfernt.
(Label im AfterOpen/AfterRefresh des Query aktualisieren ... dort könnte man auch RecordCount und Limit mit anzeigen/erwähnen)

Gibt es im FMX sowas wie ein Delphi-Referenz durchsuchenTLinkLabel oder das neue SkiaLabelDingens?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (17. Jul 2024 um 17:32 Uhr)
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
328 Beiträge
 
Delphi 12 Athens
 
#7

AW: ListView Performance bei vielen Datensätzen (FMX)

  Alt 18. Jul 2024, 14:38
Gibt es im FMX sowas wie ein Delphi-Referenz durchsuchenTLinkLabel oder das neue SkiaLabelDingens?

Ich weis worauf die hinaus willst. Ja in FMX gibt es das TSKLabel das auch wie ein Link gestyled werden kann. Man kann auch einfach einen TSpeedbutton nehmen und ihm das passende StyleLookup verpassen.
Werde mir das mal durch den Kopf gehen lassen. Danke schon mal für das ganz Feedback und den Input.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.989 Beiträge
 
Delphi 12 Athens
 
#8

AW: ListView Performance bei vielen Datensätzen (FMX)

  Alt 22. Jul 2024, 11:45
Nja, wenn noch kein Filter vorhanden, dann "alles" laden (mit Limit, damit nicht zuviel/langsam)
oder zu Beginn eben garnichts automatisch laden. (erst nach Eingabe/Enter)

WHERE einem LIKE :Filter + '%'
dann noch ein LIMIT 100 (oder so) dran

Wenn RecordCount = das Limit,
dann noch ein Label/Hint anzeigen, dass eventuell nicht alles angezeigt wird und man vielleicht den Filter anpassen könnte,
und/oder einen Knopf/Link "alles Laden", welcher das Limit erhöht, bzw. entfernt.
(Label im AfterOpen/AfterRefresh des Query aktualisieren ... dort könnte man auch RecordCount und Limit mit anzeigen/erwähnen)

Gibt es im FMX sowas wie ein Delphi-Referenz durchsuchenTLinkLabel oder das neue SkiaLabelDingens?
Ich handhabe ein ähnliches Problem so , dass wir die Anzahl der Datensätze ermitteln und wenn diese Anzahl zu einer langen Ladezeit führen würde, dann fragt das Programm den Benutzer ob diese wirklich geladen werden sollen.
Ich bezweifle, durch 183000 datensätze rollen notwendig ist. Das Filterproblem sollte im Query gelöst werden.
Andreas
Monads? Wtf are Monads?
  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 11:13 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 by Thomas Breitkreuz