coloriage primefaces les cellules d'un tableau selon l'état
c'est mon premier projet avec primefaces, et je ne peux pas savoir pourquoi mes cellules ne sont pas de couleur.
mon fichier XHTML contient les éléments suivants:
<h:head>
<title>Job Status Reporter</title>
<link rel="stylesheet" type="text/css" href="/jobstatusreport/colors.css" />
</h:head>
...
<h:dataTable var="myJob" value="#{workPackage.jobs}"
rowStyleClass="#{myJob.jobStatus == 'SUCCESS' ? 'green' :
(myJob.jobStatus == 'PARTIAL SUCCESS' ? 'yellow' : (myJob.jobStatus == 'FAILURE' ? 'red' :'white'))}">
<h:column>
<h:outputText value="#{myJob.jobId}" />
</h:column>
<h:column>
<h:outputText value="#{myJob.jobType}" />
</h:column>
<h:column>
<h:outputText value="#{myJob.jobStatus}" />
</h:column>
</h:dataTable>
et mes couleurs.le fichier css est créé dans WebContent/ressources/css/dossier et définis comme suit:
.green.ui-datatable { background: green;}
.red.ui-datatable {background: red;}
.yellow.ui-datatable {background: yellow;}
.white.ui-datatable {background: white;}
mais j'ai toujours coloration des cellules sur mon navigateur web, quelqu'un peut me dire quel est le problème?
EDIT:
quand j'ai changé de h:dataTable ... à p:dataTable ... j'ai eu le message suivant:
/globalReport.xhtml @32,169 rowStyleClass="#{myJob.jobStatus == 'SUCCESS' ? 'green' : (myJob.jobStatus == 'PARTIAL SUCCESS' ? 'yellow' : (myJob.jobStatus == 'FAILURE' ? 'red' : 'white'))}": Property 'jobStatus' not found on type org.hibernate.collection.internal.AbstractPersistentCollection$SetProxy
peut aider quelqu'un, s'il vous plaît?
peut-être le chemin vers la feuille de style css est mal, faire comme ceci mkyong.com/jsf2/...
double possible de la Couleur des lignes de la table de données en fonction d'une condition JSF 2
J'ai déjà essayé, ça ne fonctionne pas, d'autres idées?
veuillez lire mon fichier xhtml la solution proposée est déjà fait, mais pas efficace, je n'obtiens pas de résultats positifs
oh désolé, ils sont à l'aide de Tomahawk composants, mais la règle est la même, h:dataTable n'a pas d'attribut
double possible de la Couleur des lignes de la table de données en fonction d'une condition JSF 2
J'ai déjà essayé, ça ne fonctionne pas, d'autres idées?
veuillez lire mon fichier xhtml la solution proposée est déjà fait, mais pas efficace, je n'obtiens pas de résultats positifs
oh désolé, ils sont à l'aide de Tomahawk composants, mais la règle est la même, h:dataTable n'a pas d'attribut
OriginalL'auteur Guizmoo03 | 2014-03-26
Vous devez vous connecter pour publier un commentaire.
J'ai enfin trouvé une solution:
Dans myJob classe, j'ai ajouté la méthode ci-dessous:
et dans mon globalReport.xhtml, j'ai changé le suivant:
et mes couleurs.css est :
et il fonctionne parfaitement. merci beaucoup @Lukasz pour votre aide précieuse.
OriginalL'auteur Guizmoo03
Votre situation est la même La couleur des lignes de la table de données en fonction d'une condition JSF 2.
h:dataTable
n'a pas d'attribut, puisque vous êtes à l'aide de PrimeFaces, vous devez utiliser leurs composants, car ils fournissent beaucoup plus de fonctionnalités.Utilisation
<p:dataTable rowStyleClass="..." ... />
ainsi que<p:column../>
.Il serait probablement plus lisible et moins sujettes à l'erreur, si vous souhaitez générer la classe de style dans l'article, pour éviter trop long et trop complexe EL expression.
Vous pouvez le constater, le style des différences parce que les composants rendus par PrimeFaces sont à l'aide de jQuery-UI styles CSS, mais vous pouvez personnaliser aussi facile que de "vieux" composants de "h:" espace de noms.
il semble que la valeur d'enum, ou quelque chose de semblable, pas le JSF/PrimeFaces message d'erreur. Essayez la façon dont je l'ai proposé, générer de la classe de style dans votre bean. Trop long EL expressions sont difficiles à déboguer et d'avoir de mauvaises performances.
quand je débogage dans le navigateur j'obtiens erreur 404 fichier non trouvé, il semble qu'il ne peut pas trouver le fichier, est-il possible que je suis en train de faire erreur en déclarant : <link type="text/css" href="/jobstatusreport/couleurs.css" />
est quelque chose qui n'a pas de méthode
getJobStatus
. Pourquoi avez-vous des procurations dans votre collection, je ne sais pas, et c'est une autre question. Il vous suffit de débogage ce getJobs() la méthode est de retour...Merci de prévenir également caméléon questions. Le titre est sur la coloration des lignes selon l'état, l'ajout d'autres erreurs seront une source de distraction pour les futurs visiteurs. Si "quelque chose" est la création d'un proxy et le débogage ne vais pas vous donner tout soupçon, il est préférable de créer une nouvelle question.
OriginalL'auteur Danubian Sailor