IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Changer la couleur dynamiquement d'une DataTable


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut Changer la couleur dynamiquement d'une DataTable
    Bonjour ,


    Voilà mon "problème", en fait je veux changer dynamiquement la couleur d'une cellule de ma dataTable en fonction de la valeur à l'intérieur.

    Si c'est "No" -> rouge
    Si c'est "Yes" -> vert

    Voici le code de ma dataTable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <h:dataTable value="#{manageOccupation.dataList}" var="dataItem"
    			border="3">
    			<h:column>
    				<f:facet name="header">
    					<h:outputText value="Selected" />
    				</f:facet>
    				<h:selectBooleanCheckbox value="#{dataItem.selected}" />
    			</h:column>
    			<h:column> 
    				<f:facet name="header">
    					<h:outputText value="Start" />
    				</f:facet>
    				<h:outputText value="#{dataItem.occcupation.startDate}">
    					<f:convertDateTime pattern="dd/MM/yyyy" timeZone="Europe/Paris" />
    				</h:outputText>
    			</h:column>
    			<h:column>
    				<f:facet name="header">
    					<h:outputText value="End" />
    				</f:facet>
    				<h:outputText value="#{dataItem.occcupation.endDate}">
    					<f:convertDateTime pattern="dd/MM/yyyy" timeZone="Europe/Paris" />
    				</h:outputText>
    			</h:column>
    			<h:column>
    				<f:facet name="header">
    					<h:outputText value="Mode" />
    				</f:facet>
    				<h:outputText value="#{dataItem.occcupation.dayMode}" />
    			</h:column>
    			<h:column>
    				<f:facet name="header">
    					<h:outputText value="Type" />
    				</f:facet>
    				<h:outputText value="#{dataItem.occcupation.name}" />
    			</h:column>
    			<h:column>
    				<f:facet name="header">
    					<h:outputText value="DaysTaken" />
    				</f:facet>
    				<h:outputText value="#{dataItem.occcupation.daysTaken}" />
    			</h:column>
    			<h:column>
    				<f:facet name="header">
    					<h:outputText value="ValidInf" />
    				</f:facet>
    				<h:outputText value="#{dataItem.validInf}"
    					style="#{dataItem.colorInf}"/>
    			</h:column>
    			<h:column>
    				<f:facet name="header">
    					<h:outputText value="ValidSup" />
    				</f:facet>
    				<h:outputText value="#{dataItem.validSup}" 
    					style="#{dataItem.colorSup}" />
    			</h:column>
    		</h:dataTable>
    Là où j'affiche Yes ou No , c'est pour validInf et validSup. Dans mon managed bean j'ai donc un bout de code qui d'une part me met la valeur qu'il faut (soit Yes soit No), d'autre part, initialise le style de la cellule.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	if (occupation.isValidInf())
    		{
    			validInf = "Yes";
    			colorInf = "width :100%; background-color: green";
    		}
    		else
    		{
    			validInf = "No";
    			colorInf = "width:100%; background-color: red";
    		}

    Le problème c'est qu'il n'y a que la largeur de mon texte qui est colorisé. J'aimerais que toute la cellule le soit. Je pensais pourtant que le "width:100%" règlerai mon problème mais il n'a pas l'air d'en prendre compte (si je ne le met pas, le résultat est identique)

    Une idée?

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    salut,
    mets le style au niveau de la colonne..
    et pour mettre en rouge toute la cellule.il faut un background-color..

    et si tu as encore un souci,tu peux demander l'aide dans le forum CSS...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut
    Merci pour l'idée, vu que j'avais une dataTable classique , je n'ai pas pu mettre de style à la colonne. Mais en changeant pour la dataTable de tomahawk, j'ai pu le rajouter et ça marche


    Merci bien.

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Jexou Voir le message
    Merci pour l'idée, vu que j'avais une dataTable classique , je n'ai pas pu mettre de style à la colonne. Mais en changeant pour la dataTable de tomahawk, j'ai pu le rajouter et ça marche


    Merci bien.
    super

    n'oublie pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/03/2014, 17h46
  2. [XL-2000] Changer la couleur suite a une formule
    Par j.cedric dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/11/2009, 11h43
  3. Réponses: 0
    Dernier message: 11/10/2008, 14h31
  4. tableau : changer la couleur de toute une ligne
    Par Emcy dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 21/08/2008, 09h37
  5. [FLASH 8] Changer label bouton dynamiquement dans une boucle
    Par Malau dans le forum ActionScript 1 & ActionScript 2
    Réponses: 5
    Dernier message: 03/05/2006, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo