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 :

[RichFaces] rich:datatable et external filtering


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Par défaut [RichFaces] rich:datatable et external filtering
    J'essaie d'utiliser l'attribut filterMethod sur une rich:column d'un tableau afin que l'utilisateur puisse saisir un intervalle de date et que la colonne soit filtrée selon l'intervalle saisi.

    J'ai regardé l'external filtering, ok pour le principe, j'arrive à appeler la méthode java etc tout est ok, cependant, j'ai un souci de rendu, j'ai l'impression qu'on ne peut pas mettre plus d'un champ input dans l'en-tête de la colonne.

    Voici le code de mon tableau, au niveau du rendu de la 2ème colonne, il n'affiche que le dernier élément (ici le bouton "Filtrer" mais j'ai essayé en changeant l'ordre) :

    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
     
    <h:form>
    			<rich:dataTable value="#{dossierForm.dossiers}" var="theDossier" id="tableDossierFiltering">
    				<f:facet name="header">
    					<rich:columnGroup>
    						<rich:column colspan="2">
    							<h:outputText value="Filtering Example" />
    						</rich:column>
    						<rich:column breakBefore="true">
    							<h:outputText value="Réference" />
    						</rich:column>
    						<rich:column>
    							<h:outputText value="Date" />
    						</rich:column>
    					</rich:columnGroup>
    				</f:facet>
    				<rich:column filterMethod="#{dossierForm['filterReference']}">
    					<f:facet name="header">
    						<h:inputText value="#{dossierForm.filterValue}" id="input">
    							<a4j:support event="onkeyup" reRender="tableDossierFiltering" ignoreDupResponses="true" requestDelay="700" />
    						</h:inputText>
    					</f:facet>
    					<h:outputText value="#{theDossier.reference}" />
    				</rich:column>
     
    				<rich:column filterMethod="#{dossierForm['filterDate']}">
    					<f:facet name="header">
    						<rich:calendar id="dateDu-calendar-proto" value="#{dossierForm.dateInf}" datePattern="dd/MM/yyyy"
    						showWeeksBar="false" showFooter="false" enableManualInput="true" converterMessage="Format de date incorrect" />
     
    						<rich:calendar id="dateAu-calendar-proto" value="#{dossierForm.dateSup}" datePattern="dd/MM/yyyy"
    						showWeeksBar="false" showFooter="false" enableManualInput="true" converterMessage="Format de date incorrect" />
     
    						<a4j:commandButton value="Filtrer" />
     
    					</f:facet>
    					<h:outputText value="#{theDossier.date}" >
    						<f:convertDateTime dateStyle="short" timeZone="Europe/Paris"/>
    					</h:outputText>
    				</rich:column>
     
    			</rich:dataTable>
    		</h:form>
    Des idées ?

    Merci !

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Par défaut
    Le problème de rendu est corrigé en englobant les éléments dans un panelGroup.

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Par défaut
    Est-ce que tu peux préciser ou donner un exemple stp ?
    (Tu parles de tous les éléments contenus dans le form ?)

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Par défaut
    Voici l'exemple corrigé et fonctionnel :

    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
     
    <h:form>
    			<rich:dataTable value="#{dossierForm.dossiers}" var="theDossier" id="tableDossierFiltering">
    				<f:facet name="header">
    					<rich:columnGroup>
    						<rich:column>
    							<h:outputText value="Réference" />
    						</rich:column>
    						<rich:column>
    							<h:outputText value="Date" />
    						</rich:column>
    					</rich:columnGroup>
    				</f:facet>
    				<rich:column filterMethod="#{dossierForm['filterReference']}">
    					<f:facet name="header">
    						<h:inputText value="#{dossierForm.filterValue}" id="input">
    							<a4j:support event="onkeyup" reRender="tableDossierFiltering" ignoreDupResponses="true" requestDelay="700" />
    						</h:inputText>
     
    					</f:facet>
    					<h:outputText value="#{theDossier.reference}" />
    				</rich:column>
     
    				<rich:column filterMethod="#{dossierForm['filterDate']}">
    					<f:facet name="header">
    						<h:panelGroup>
    							<rich:calendar id="dateDu-calendar-proto" value="#{dossierForm.dateInf}" datePattern="dd/MM/yyyy"
    								showWeeksBar="false" showFooter="false" enableManualInput="true" converterMessage="Format de date incorrect" />
    							<rich:calendar id="dateAu-calendar-proto" value="#{dossierForm.dateSup}" datePattern="dd/MM/yyyy"
    								showWeeksBar="false" showFooter="false" enableManualInput="true" converterMessage="Format de date incorrect" />
    							<h:commandButton value="Filtrer" />
    						</h:panelGroup>
    					</f:facet>
    					<h:outputText value="#{theDossier.date}">
    						<f:convertDateTime dateStyle="short" timeZone="Europe/Paris" />
    					</h:outputText>
    				</rich:column>
    			</rich:dataTable>
    		</h:form>

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2011, 20h10
  2. Réponses: 11
    Dernier message: 19/01/2011, 11h39
  3. RichFaces - Rechrger rich:dataTable chaque 5min
    Par yassineelouardi dans le forum JSF
    Réponses: 4
    Dernier message: 06/12/2010, 11h33
  4. [Richfaces] probléme <rich:datatable>
    Par pipo7610 dans le forum JSF
    Réponses: 2
    Dernier message: 02/09/2008, 15h55
  5. Réponses: 9
    Dernier message: 24/01/2008, 08h35

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