Domanda

Questo è il mio problema: ho bisogno di archiviare un lotto di messaggi di log e ho pensato che sarebbe stato intelligente tenerlo in un database SQLite3 per poterlo cercare e filtrare facilmente.

Visualizzerò i messaggi di log in un widget elenco standard (usando wxWidgets). L'elenco avrà diverse colonne e può essere ordinato e filtrato dall'utente.

Ora, non sono sicuro di quale sia il modo migliore per gestirlo. Sto pensando ad alcune possibili soluzioni:

  1. Leggi tutti i messaggi in memoria. Quando è presente un messaggio di registro nuovo o modificato (in una posizione casuale nell'elenco), l'intero elenco dovrà essere aggiornato. Stessa cosa quando l'utente desidera filtrare l'elenco o ordinare su una colonna diversa.
  2. Leggi tutti gli ID in un array e recupera il messaggio di registro completo su richiesta (quando l'utente scorre l'elenco in modo da renderli visibili).
  3. Utilizzare l'interfaccia SQL per recuperare i risultati su richiesta, utilizzando SQL per selezionare il risultato secondario esatto richiesto.

Ma davvero, non sono abituato a lavorare con questo tipo di problema, quindi tutti i suggerimenti sono apprezzati!

È stato utile?

Soluzione

Che ne dici di usare l'impaginazione?

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

Dove offset e count sono valori che puoi scegliere. Puoi usarlo per ottenere un numero qualsiasi di voci del registro. Quindi aggiungere un pulsante successivo per consentire all'utente di visualizzare la pagina successiva di voci. In combinazione con la possibilità di filtrare e ordinare, la ricerca nei registri non può essere più semplice.

Altri suggerimenti

Ho iniziato a scrivere questo come un commento alla risposta di Nadia, ma ho iniziato a divagare ed è diventato troppo lungo :)

Tieni presente che quando il numero di voci del registro diventa molto grande, la barra di scorrimento diventa inutile. Il più piccolo movimento nella pergamena finisce per spostarsi drasticamente nell'elenco. Ciò rende poco pratico per un utente utilizzare la ricerca nell'elenco.

Pensa al motivo per cui gli utenti guarderanno effettivamente attraverso queste voci e progetteranno intorno a ciò. Gli elenchi molto grandi non sono solo difficili da lavorare nel codice, ma sono anche difficili da lavorare per gli utenti. Probabilmente darei loro alcuni criteri di filtro e risultati paginati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top