[size="2"]tutti i campi della colonna IN_VIAGGIO si colorano di rosso, ma se voglio colorare solo quelli superiori al numero 3, ad esempio, come dovrei fare?[/size]
[size="2"]Ho ipotizzato di scrivere nel modello una funzione del genere:[/size]
la colonna ore contiene solo zeri, mentre quasi tutti, tranne uno, hanno più di 30 ore segnate . (però la chiamata $model->getColore va)
La seconda prova che ho fatto è di eseguire un bel print_r ("ORE: " . $this->ore) dentro al metodo getColore e … sorpresa … ho scoperto che viene eseguito una unica volta, PRIMA dell’inizio dell’echo della tabella, quindi prima del parsing delle singole righe… difatit $this->ore non è valorizzato
si, scusa hai ragione ! La mia poca esperienza ti ha fatto perdere tempo.
Effettivamente sto cercando anche io un sistema per intervenire a livello di parsing della singola riga, perchè servirà anche a me presto o tardi. Continueremo a provare e cercare !
scusami se non provo il codice, ma è domenica … e poi ha senso: personalizzi la colonna con una classe che estende CDataColumn, e li hai accesso a ‘$data’.
Le expression le devi passare come stinghe, verrano valutate con eval e $data sara’ valida, se la scrivi senza apici php prova a valutarla mentre costruisce l’array, e data non e’ impostata.
Una volta impostata la classe devi ovviamente scrivere il css per cambiare il colore.