Comment pouvez-vous le style conditionnellement une cellule dans un Dojo grille de données?
-
23-09-2019 - |
Question
Essentiellement ce que je veux faire est d'appliquer des classes CSS supplémentaires à des cellules individuelles dans une grille de données en fonction de la valeur de la cellule. Un exemple serait de couleur rouge texte lorsqu'une valeur monétaire est négative.
La seule solution que j'ai trouvé était d'utiliser la colonne de la formatter pour créer une chaîne pour une période qui a la classe en fonction de la valeur passée. Je la figure, il doit y avoir une meilleure façon.
La solution
Lors de la spécification de la structure, vous passez dans un objet qui représente la configuration widget pour une colonne donnée. Dans le cadre de cet objet, inclure une fonction de formatter dans la définition:
{
...
formatter: function(val, rowIdx, cell) {
classes = compute_classes(val, rowIdx, cell);
cell.customClasses.push(classes);
}
}
cependant votre « compute_classes » calcule les classes à utiliser est à vous. Ils seront appliqués à la cellule, puis vous pouvez gérer leur apparition dans votre CSS.