Originariamente inviato da firefox88
Sicuramente una DBGrid non è sufficiente... Allora come posso fare?
Mai dire "mai"...

Una DBGrid è più che sufficiente: impostata in modalità ReadOnly, intercettando l'evento OnDrawCell è possibile disegnare anche cavoli e capre all'interno delle celle.

La Guida in linea in merito all'evento menzionato dovrebbe contenere un esempio indicativo.

Per la questione "tabella in memoria", è sufficiente usare un componente in grado di sostenere questa "memory table" senza appoggiarsi necessariamente ad un DB, come avviene per il componente TClientDataSet (che ha anche tanti altri usi).

Per evadere l'uso della tabella e della griglia associata ai dati, sarebbe anche possibile sfruttare una semplice TStringGrid, ferma restando la necessità di intervenire con l'evento di tracciamento della cella per l'applicazione del colore.

Ciao!