Frage

Dies ist mein Problem: Ich muss a speichern viel von Protokollnachrichten und dachte, es wäre klug, sie in einer SQLite3 -Datenbank zu halten, um sie leicht zu durchsuchen und zu filtern.

Ich werde die Protokollnachrichten in einem Standard -Listen -Widget (mit WXWIDGETS) anzeigen. Die Liste verfügt über mehrere Spalten und kann vom Benutzer sortiert und gefiltert werden.

Jetzt bin ich mir nicht sicher, wie es der beste Weg ist, damit umzugehen. Ich denke an einige mögliche Lösungen:

  1. Lesen Sie alle Nachrichten zum Speicher. Wenn es eine neue oder geänderte Protokollnachricht gibt (in einer zufälligen Position in der Liste), muss die gesamte Liste aktualisiert werden. Gleiches gilt der Benutzer, wenn der Benutzer die Liste filtern oder in einer anderen Spalte sortieren möchte.
  2. Lesen Sie alle IDs in ein Array durch und rufen Sie die vollständige Protokollnachricht bei Bedarf ab (wenn der Benutzer die Liste scrollt, damit sie sichtbar werden).
  3. Verwenden Sie die SQL-Schnittstelle, um die Ergebnisse bei Bedarf zu erhalten, und verwenden Sie SQL, um das erforderliche genaue Unterre-Result auszuwählen.

Aber wirklich, ich bin es einfach nicht gewohnt, mit solchen Problemen zu arbeiten, also werden alle Tipps geschätzt!

War es hilfreich?

Lösung

Wie wäre es mit Pagination?

SELECT *
FROM logs
WHERE ...
ORDER BY ...
LIMIT offset, count

Wo Offset und Anzahl Werte sind, die Sie auswählen können. Sie können dies verwenden, um eine beliebige Anzahl von Protokolleinträgen zu erhalten. Fügen Sie dann eine nächste Schaltfläche hinzu, damit der Benutzer die nächste Seite der Einträge anzeigen kann. In Kombination mit der Möglichkeit, zu filtern und eine Sortierung zu filtern, kann die Protokollsuche nicht einfacher sein.

Andere Tipps

Begann dies als Kommentar zu Nadias Antwort zu schreiben, aber ich fing an, zu wanderten und es wurde zu lang :)

Denken Sie daran, dass die Bildlaufleiste, wenn die Anzahl der Protokolleinträge sehr groß wird, nutzlos wird. Die kleinste Bewegung in der Schriftrolle bewegt sich drastisch durch die Liste. Das macht es für einen Benutzer unpraktisch, die Liste zu durchsuchen.

Überlegen Sie, warum Benutzer diese Einträge tatsächlich durchsehen und darum gestalten. Sehr große Listen sind nicht nur schwer im Code zu arbeiten, es sind auch für die Benutzer schwierig, mit denen sie arbeiten können. Ich würde ihnen wahrscheinlich einige Filterkriterien geben und Ergebnisse ausführten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top