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 :

[MyFaces][ajax4jsf] datascroller dans modalDialog


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [MyFaces][ajax4jsf] datascroller dans modalDialog
    Bonjour,

    J'ai un soucis avec mon écran. Je voudrais dans un popup afficher une table paginé. Voici donc mon code :
    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
     
    	<s:modalDialog id="idDialogComposanteTarif" dialogVar="dialogComposanteTarif"
    		dialogAttr="bgColor='white' bgOpacity='0.7' toggle='fade' toggleDuration='250'"
    		dialogTitle="Sélection d'un composante tarif" closeButton="true" hiderIds="btnComposanteId">
     
    		<h:form>
    			<h:panelGrid columns="1">
    				<t:dataTable id="dataComposantesTarif" var="composante" value="#{commissionBean.composantesTarif}" cellspacing="2"
    					cellpadding="5" border="0" rowClasses="table-row0, table-row1" columnClasses="text-column"
    					binding="#{commissionBean.tableComposantesTarif}" rows="#{commissionBean.pageSize}" width="100%">
    					<t:column>
    						<f:facet name="header">
    							<t:outputText value="Libelle" />
    						</f:facet>
    						<t:commandLink value="#{composante.libelle}" actionListener="#{commissionBean.selectComposanteTarif}"
    							onclick="dialogComposanteTarif.hide();" />
    					</t:column>
    				</t:dataTable>
    				<h:panelGrid columns="1">
    					<t:dataScroller id="scrollComposantesTarif" for="dataComposantesTarif" pageCountVar="pageCount"
    						pageIndexVar="pageIndex" paginator="true" paginatorMaxPages="#{commissionBean.pageSize}"
    						paginatorActiveColumnStyle="font-weight:bold;">
    						<f:facet name="first">
    							<t:graphicImage url="../img/bt_4_first.gif" border="0" />
    						</f:facet>
    						<f:facet name="previous">
    							<t:graphicImage url="../img/bt_4_previous.gif" border="0" />
    						</f:facet>
    						<f:facet name="next">
    							<t:graphicImage url="../img/bt_4_next.gif" border="O" />
    						</f:facet>
    						<f:facet name="last">
    							<t:graphicImage url="../img/bt_4_last.gif" border="0" />
    						</f:facet>
    					</t:dataScroller>
    				</h:panelGrid>
    			</h:panelGrid>
    		</h:form>
    		<t:commandButton id="btnComposanteId" value="Fermer" onclick="dojo.widget.byId('idDialogComposanteTarif').hide();" />
    	</s:modalDialog>
    Le problème c'est que lorsque je change de page dans mon datascroller, ma boite de dialogue se ferme !!
    C'est très gênant forcément

    Comment faire ?

    merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    j'ai trouvé !!

    il ne faut pas utiliser la balise form dans un modalDialog ou alors (et c'est mon cas) utiliser une page externe (viewId).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <s:modalDialog dialogId="dialogComposanteTarif" dialogVar="dialogComposanteTarif" styleClass="viewDialog"
    			dialogTitle="Sélectionner une Composante Tarif" closeButton="true"
    			viewId="gestion_commissions_dialog_composantetarif.jsf">
     
    		</s:modalDialog>
    et dans la page gestion_commissions_dialog_composantetarif.jsp :
    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
     
    <f:view id="dialogCommissionComposanteTarif">
    	<h:form>
    		<h:panelGrid columns="1">
    			<t:dataTable id="dataComposantesTarif" var="composante" value="#{commissionBean.composantesTarif}" cellspacing="2"
    				cellpadding="5" border="1" rowClasses="table-row0, table-row1" columnClasses="text-column"
    				binding="#{commissionBean.tableComposantesTarif}" rows="#{commissionBean.pageSize}" width="350px">
    				<t:column>
    					<f:facet name="header">
    						<t:outputText value="Libelle" />
    					</f:facet>
    					<t:commandLink value="#{composante.libelle}" actionListener="#{commissionBean.selectComposanteTarif}"
    						onclick="window.parent._myfaces_currentModal._myfaces_ok=true;window.parent._myfaces_currentModal.hide();" />
    				</t:column>
    			</t:dataTable>
    			<t:dataScroller id="scrollComposantesTarif" for="dataComposantesTarif" pageCountVar="pageCount"
    				pageIndexVar="pageIndex" paginator="true" paginatorMaxPages="15" paginatorActiveColumnStyle="font-weight:bold;"
    				paginatorMaxPages="10">
    				<f:facet name="first">
    					<t:graphicImage url="../img/bt_first.gif" border="0" />
    				</f:facet>
    				<f:facet name="previous">
    					<t:graphicImage url="../img/bt_left.gif" border="0" />
    				</f:facet>
    				<f:facet name="next">
    					<t:graphicImage url="../img/bt_right.gif" border="0" />
    				</f:facet>
    				<f:facet name="last">
    					<t:graphicImage url="../img/bt_last.gif" border="0" />
    				</f:facet>
    			</t:dataScroller>
    		</h:panelGrid>
    	</h:form>
     
    </f:view>
    Cependant j'ai maintenant un autre problème. Ma méthode commissionBean.selectComposanteTarif met à jour mon backing bean mais les valeurs mise à jour ne sont pas rafraichit dans la page principale !!?

  3. #3
    Invité
    Invité(e)
    Par défaut
    bon.
    Je m'en suis sorti.
    J'ai du feinter .

    J'ai rajouter un s:submitOnEvent et pour cela j'ai ajouter un bouton cacher : <h:commandLink id="btnUpdateLblComposanteTarif" value="" /> et englober ma section à rafraichir dans un s:pprPanelGroup.
    Et ça marche.

    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
     
    <h:form id="formCreateCommission">
    		<h:commandLink id="btnUpdateLblComposanteTarif" value="" />
    [...]
    				<s:pprPanelGroup id="pprUpdateLblComposanteTarif" partialTriggers="btnUpdateLblComposanteTarif">
    					<h:outputText styleClass="libelle-bloc" value="#{commissionBean.composanteTarif}" id="lblComposanteTarif" />
    				</s:pprPanelGroup>
    [...]
    		<s:modalDialog dialogId="dialogComposanteTarif" dialogVar="dialogComposanteTarif" styleClass="viewDialog"
    			dialogTitle="Sélectionner une Composante Tarif" dialogAttr="bgOpacity='0.2' toggle='fade' toggleDuration='250'"
    			closeButton="true" viewId="pages/gestion_composantetarif_dialog.jsp">
     
    			<s:submitOnEvent event="dialogok" for="btnUpdateLblComposanteTarif" />
    		</s:modalDialog>
    	</h:form>
    Pas de changement dans ma boite de dialogue.

    Voila pour ceux que ça intéresse.
    Sur ceux, je pars en week-end

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

Discussions similaires

  1. Erreur dans Maven archetype AppFuse JSF MyFaces
    Par minservr dans le forum JSF
    Réponses: 0
    Dernier message: 27/01/2013, 13h44
  2. Réponses: 0
    Dernier message: 03/07/2009, 11h16
  3. Réponses: 2
    Dernier message: 24/01/2007, 15h05
  4. [TOMAHAWK] dataScroller dans un panelTab
    Par SEMPERE Benjamin dans le forum JSF
    Réponses: 1
    Dernier message: 18/07/2006, 20h57
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39

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