2010-03-31 15 views
5

Esencialmente, lo que quiero hacer es aplicar clases CSS adicionales a celdas individuales en una cuadrícula de datos basada en el valor de la celda. Un ejemplo sería colorear el texto en rojo cuando un valor en dólares es negativo.¿Cómo se estilo condicionalmente una celda en una cuadrícula de datos de Dojo?

La única solución que he encontrado es usar el formateador de la columna para crear una cadena para un tramo que tiene la clase basada en el valor pasado. Me imagino que tiene que haber una mejor manera.

Respuesta

9

Al especificar la estructura, debe pasar un objeto que represente la configuración del widget para una columna determinada. Como parte de este objetivo, incluir una función del formateador en la definición:

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

sin embargo sus '' compute_classes calcula las clases a utilizar depende de usted. Se aplicarán a la celda y luego podrás administrar su apariencia en tu CSS.

+1

Esto casi funcionó para mí. Podría ser porque estoy ejecutando una versión más nueva de Dojo. El valor debe ser devuelto o no se mostrará. 'return val;' después de empujar las clases. –

Cuestiones relacionadas