Je peux changer la couleur du texte en faisant cela dans la formatrice personnalisée JQGRID:
function YNFormatter(cellvalue, options, rowObject) { var color = (cellvalue == "Y") ? "green" : "red"; var cellHtml = "<span style='color:" + color + "' originalValue='" + cellvalue + "'>" + cellvalue + "</span>"; return cellHtml; }
@harshhhh - J'ai ajouté un autre commentaire
Vous devriez simplement utiliser
'fond-couleur' code> au lieu de
'couleur' code> et définir un style supplémentaire
'arrière-arrière-image': "Aucun" code> Pour supprimer L'image d'arrière-plan héritée de la classe UI-widget UI de la classe UI de jQuery. Si vous voulez, utilisez en outre une couleur standard pour planer ou / et sélectionner des lignes sélectionnées, vous pouvez utiliser la technique que j'ai décrite dans Stackoverflow.com/questions/4956949/...
@Oleg - L'arrière-plan est uniquement pour la portée (pas la cellule TD totale)
@OOO: Dans votre question que vous avez écrite, que vous voulez / devez utiliser des formateurs personnalisés. Le texte renvoyé par le formateur personnalisé sera placé dans la cellule code>. Donc, dans la façon dont vous n'avez aucune chance de changer le code> lui-même. Maximum de ce que vous pouvez faire est de placer n'importe quel élément comme
code> qui pourrait avoir la taille de l'ensemble du code> (dépend de la CSS utilisée). Dans le cas, le fond de
code> sera vu pour l'utilisateur exactement comme l'arrière-plan des cellules. Utilisation de formateurs personnalisés, vous ne pouvez pas faire plus.
0
5 commentaires
1
0 commentaires
20
@OOO: Pour faire tout clair, j'ai écrit ma réponse.
@Oleg - Merci pour l'exemple (et votre patience) .. très utile en effet
3 Réponses :
votes
ici xxx pré>
en réalité, vous n'avez même pas besoin de formateur personnalisé, si vous souhaitez simplement le faire pour définir des couleurs. Vous pouvez même définir la valeur de couleur d'ici comme, p> xxx pré>
codage heureux. P> p>
@harshh - Dites-vous de mettre cette ligne dans ma fonction de code de formateur personnalisé?
@HARSHH - Je veux en fait le faire sous forme de formateur personnalisé, car j'ai une logique conditionnelle basée sur d'autres propriétés de données. De plus, où obtenez-vous la ligne, la colonne et la valeur?
@OOO: Vous ne devez pas utiliser le formateur personnalisé. Au lieu de cela, vous pouvez modifier la couleur d'arrière-plan de certaines cellules à l'intérieur de
ChargetComplete code> événement. Vous pouvez obtenir des identifiants des données chargées en ce qui concerne la méthode
getdataids code>, puis obtenir les données de cellule dans une boucle avec
getcell code> examinez là et changez de style de cellule avec
setCell Code> Utilisation de la chaîne vide en tant que paramètre de données (voir trirand.com /jqgridwiki/doku.php?id=wiki:Methods pour plus de détails). Vous pouvez également utiliser 'formateur: case à cocher' en outre.
Vous pouvez utiliser des fonctionnalités JQGrid que vous aimez. L'utilisation de la mise en forme personnalisée est en général pour produire un code HTML pour une cellule. Pour définir la couleur d'arrière-plan, il suffit de définir une classe CSS sur la cellule. Je définirais dans vous CSS Deux classes "Redbackground" et "Greenbackground" et installés sur la cellule une seule des classes. En tant que formateur, je vais utiliser 'Formatter: case à cocher'. Vous pouvez faire ce que vous préférez.
@Oleg - Je fais cela en combinaison avec un autre formatage de texte sur la cellule, donc j'utilise déjà un formateur personnalisé. À cause de cela, j'espérais qu'il y avait une ligne supplémentaire qui m'a permis d'ajouter de la couleur d'arrière-plan dans cette fonction de formateur personnalisée.
votes
Voici ce que j'ai fait: xxx pré> p>
votes
Si vous souhaitez utiliser
code> Elément à l'intérieur du formateur de cellule personnalisé, vous pouvez revenir à partir du formateur personnalisé xxx pré>
où le style de
.Cellwithoutbackgroundground code> Vous pouvez définir par exemple comme suit p> xxx pré>
Comment ça fonctionne Vous pouvez voir vivre ici :
p>
Mise à jour: strong> La réponse est vieille . La meilleure pratique serait d'utiliser
cellattr code> rappel dans
colmodel code> au lieu de l'utilisation des formateurs personnalisés. Changer de couleur de fond de la cellule est en général attribuant simplement une attribution code> ou
class code> sur les cellules de la colonne ( code> éléments). Le rachat code> Cellattr CODE> défini dans la colonne de
colmodel code> permet exactement de le faire. On peut toujours utiliser formateurs prédéfinis em> comme
formateur: "Cochez la case" code>,
formateur: "devise" code>,
formateur: "date" code> et ainsi de suite, mais change toujours la couleur de fond dans la colonne. De la même manière, le rappel code> rowattr code>, qui peut être défini comme l'option JQGrid (en dehors de la colonne spécifique de
colmodel code>), permet d'attribuer de style / classe de la rangée entière ( code> éléments). p>
Plus d'informations sur
CellatTR CODE> peut être trouvé Ici et ici , par exemple. Une autre réponse explique
rowattr code>. p> p>
0 commentaires
Articles qui pourrait vous intéresser :
Select2 ne s'affiche pas correctement dans le mode bootstrapdatetimepicker ne fonctionne pas avec bootstrap 4?
L'appel Ajax n'affiche pas de réponse en cas de succès
django admin - Comment ajouter du javascript à la fin d'un fichier