2010-03-31 13 views
5

In sostanza, ciò che voglio fare è applicare ulteriori classi CSS a singole celle in una griglia di dati basata sul valore della cella. Un esempio potrebbe essere quello di colorare il testo in rosso quando un valore in dollari è negativo.Come si disegna condizionatamente una cella in una griglia di dati Dojo?

L'unica soluzione che ho trovato era usare il formatter della colonna per creare una stringa per una span che ha la classe in base al valore passato. Immagino ci debba essere un modo migliore.

risposta

9

Quando si specifica la struttura, si passa a un oggetto che rappresenta la configurazione del widget per una determinata colonna. Come parte di questo oggetto, includono una funzione di formattazione nella definizione:

{ 
... 
formatter: function(val, rowIdx, cell) { 
    classes = compute_classes(val, rowIdx, cell); 
    cell.customClasses.push(classes); 
    } 
} 

tuttavia tuoi '' compute_classes calcola le classi da utilizzare dipende da voi. Verranno applicati alla cella e quindi potrai gestirne l'aspetto nel tuo CSS.

+1

Questo ha funzionato quasi per me. Potrebbe essere perché sto eseguendo una versione più recente di Dojo. Il valore doveva essere restituito o non sarebbe visualizzato. 'return val;' dopo aver premuto le classi. –

Problemi correlati