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 :

Datatable triable et checkbox


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Par défaut Datatable triable et checkbox
    Bonjour,

    J'ai un petit probleme avec les datatable triable contenant un SelectBooleanCheckBox par ligne.

    Je m'explique :

    J'affiche un tableau d'utilisateur avec une case a cocher pour chaque utilisateur.
    J'aimerai pouvoir selectionner une ligne pour editer les donnees de l'utilisateur. Comme il y a beaucoup de données j'ai mis chaques colonne triable par l'attribut "sortable" de tomhawak.

    Quand j'effectue un tri, les données sont bien triées en fonction de la colonne choisie mais les case a cocher restent au meme endroit. Ce qui fait que quand je selectionne une ligne pour l'edition, c'est une autre ligne qui est selectionnée.

    je laisse le code de la page si ca peut servir :
    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
     
    <h:form>
    <!--  DATATABLE TRIABLE -->
    				<t:dataTable id="data" binding="#{userCtrl.view.dataTable}"
    					value="#{userCtrl.datas.dataList}" var="user" border="0"
    					rowIndexVar="index" renderedIfEmpty="true"
                    	preserveDataModel="true"
                    	preserveRowStates="true"
                    	cellspacing="5" 
                    	rows="10"
                    	sortable="true">
    				<t:column id="columnBoolean" >
    						<t:selectBooleanCheckbox binding="#{userCtrl.view.checkbox}" />
    						<h:outputText value="#{user.id}"></h:outputText>
    					</t:column>
    					<t:column id="columnId"   sortable="true" >
    						<f:facet name="header">
    							<h:outputText value="Id"></h:outputText>
    						</f:facet>
    						<h:outputText value="#{user.id}"></h:outputText>
    					</t:column>
    					<t:column id="columnLogin" sortable="true" >
    						<f:facet name="header">
    							<h:outputText value="Login"></h:outputText>
    						</f:facet>
    						<h:outputText value="#{user.login}"></h:outputText>
    					</t:column>
    					<t:column id="columnNom" sortable="true" >
    						<f:facet name="header">
    							<h:outputText value="Nom"></h:outputText>
    						</f:facet>
    						<h:outputText value="#{user.nom}"></h:outputText>
    					</t:column>
    					<t:column id="columnPrenom"  sortable="true" >
    						<f:facet name="header">
    							<h:outputText value="Prenom"></h:outputText>
    						</f:facet>
    						<h:outputText value="#{user.prenom}"></h:outputText>
    					</t:column>
    					<t:column id="columnMail" sortable="true" >
    						<f:facet name="header">
    							<h:outputText value="E-Mail"></h:outputText>
    						</f:facet>
    						<h:outputText value="#{user.adresseMail}"></h:outputText>
    					</t:column>
    				</t:dataTable>
     
     
    				<h:commandButton action="#{userCtrl.create}" value="Ajouter"></h:commandButton>
    				<h:commandButton action="#{userCtrl.delete}"
    					value="Supprimer"></h:commandButton>
    				<h:commandButton action="#{userCtrl.edit}" value="Editer"></h:commandButton>
     
     
     
    			</h:form>
    Il existe peut etre un truc toout simple pour que les checkbox "bougent" avec les données, mais je trouve pas...

    Si quelqu'un peut m'aider...

    Merci par avance

  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,

    dans ton objet #{userCtrl.datas.dataList}, tu ajoute un boolean,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private boolean selected;
    et dans la colonne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <t:selectBooleanCheckbox binding="#{userCtrl.view.checkbox}"  value="#{user.selected}"/>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Par défaut
    Merci pour ta reponse ca fonctionne très bien, j'avais déjà essayé cette méthode mais je voulais eviter d'utiliser un booleen suplementaire pour ne pas a modifier le type de ma liste.

    Je pensais qu'il existait une solution coté jsf

    Merci en tout cas !

Discussions similaires

  1. Exemple filtrage dataTable avec des checkbox
    Par ahmedpa dans le forum JSF
    Réponses: 3
    Dernier message: 10/03/2014, 08h58
  2. Réponses: 2
    Dernier message: 21/09/2010, 10h37
  3. dataTable triable et checkbox
    Par demanghonj dans le forum JSF
    Réponses: 0
    Dernier message: 22/05/2009, 16h31
  4. problème CheckBox dans une Datatable
    Par rc.dev2009 dans le forum JSF
    Réponses: 3
    Dernier message: 23/04/2009, 17h47
  5. dataTable et checkbox
    Par khaoula_14_05 dans le forum JSF
    Réponses: 11
    Dernier message: 11/04/2008, 14h51

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