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 :

Problème avec les ids dynamique:


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut Problème avec les ids dynamique:
    Salut,
    Je développe avec richfaces 3.3.2 et j'ai un problème pour la récupération des id des composants dynamiques (les colonnes de richdatables) pour y appliquer des actions javascript:
    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
     
    <rich:dataTable id="table" value="#{articleHome.images}" var="image">
    					<h:column id="columm">
    						<f:facet name="header">
    							<h:outputLabel value="Image" />
    						</f:facet>
     
    						<s:graphicImage value="#{articleHome.image_art(image)}"
    						 height="240" width="240 "  id="image">
    													</s:graphicImage>
     
    					</h:column>
    					<h:column>
    						<f:facet name="header">
    							<h:outputLabel value="Action" />
    						</f:facet>
     
    						<h:commandLink value="supprimper"
    							action="#{articleHome.supprimer_image(image.identifiant_image)}" />
     
    					</h:column>
     
    				</rich:dataTable>
     
    ................
    	<rich:contextMenu id="menu" event="oncontextmenu" attachTo="image"
    					submitMode="none">
    					<rich:menuItem value="Zoom In" onclick="enlarge(image);" id="zin"></rich:menuItem>
    					<rich:menuItem value="Zoom Out"
    						onclick="decrease(image);" id="zout"></rich:menuItem>
    				</rich:contextMenu>
    Le problème ici est de récupérer l'id de l'image du colonne en cours est de le faire entrer a une fonction javascript et le faire varier automatiquement.
    Le code java script est ci-dessous:
    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
    function resize(id, coeff) {
    	var pic = document.getElementById(id); 
     
    	var w = Math.round(pic.width * coeff);
    	var h = Math.round(pic.height * coeff);
     
    	if (w > 1 && h > 1 && h<1000 && w<1000) {
    		pic.width = w;
    		pic.heigth = h;
    	}
    }
     
    function enlarge(id){
    	resize(id, 1.1);
    }
     
    function decrease(id){
    	resize(id, 0.9);
    }
    Merci

  2. #2
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    Salut, pour le problème de récupération des id j'ai trouvé une solution, c'est avec rowKeyVar,comme ci dessous:

    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
     
     
    <rich:dataTable rowKeyVar="row" id="table1" value="#{articleHome.images}" var="image">
    					<rich:columns columns="1" index="ind" >
    				<h:graphicImage id="input#{ind}" value="/img/player.png"
    					style="border : 5px solid #E4EAEF " />
    					<rich:contextMenu  event="oncontextmenu" attachTo="input#{ind}"
    					submitMode="none">
    					 <rich:menuItem value="Zoom In" onclick="enlarge('input#{ind}');" id="zin"></rich:menuItem>
    					<rich:menuItem value="Zoom Out"
    					onclick="decrease('form:table1:#{row}:input#{ind}');" id="zout"></rich:menuItem>
     
     
    				</rich:contextMenu>
     
     
    					</rich:columns> 
    			</rich:dataTable>
    Mais un autre problème m'est arrivé :il faut que j'utilise des images dynamiques et parsuite utiliser comme au premier exemple un <s:graphicImage>(composant seam) qui prend pour "value" un File, le problème c'est que dans le code client l'attribut id est abscent a cause probablement d'une anomalie dans le code source de ce composant patché dans ce lien ici . Est ce que quelqu'un peut me fournir un lien pour m'aider à recompiler ce framework? j'utlise seam2.0.3.

    Merci d'avance

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    Salut,
    J'ai trouvé la solution j'ai fait une manip plus ou moins "élégante":
    -créer un projet java sous eclipse
    -ajouter au build path les jar de seam excepté jboss-seam-ui.jar ainsi que le runtime de Jboss
    - ajouter au répertoire src du projet les fichiers au dessous de \jboss-seam-2.0.3.CR1\ui\src\main\java
    -modifier le fichier source comme le patch indique
    -recopier le .class dans l'emplacement spécifique du jar jboss-seam-ui.jar

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

Discussions similaires

  1. problème avec les vignettes dynamique
    Par ajira83000 dans le forum Windows 8
    Réponses: 1
    Dernier message: 22/11/2012, 11h46
  2. [Débutant] Problème avec les contrôles dynamiques
    Par lotus006 dans le forum VB.NET
    Réponses: 0
    Dernier message: 04/03/2012, 21h33
  3. [FPDF] problème avec les images dans un tableau dynamique
    Par GADSN dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 08/04/2009, 11h11
  4. Problème avec les checkbox dynamiques
    Par 20304995 dans le forum Langage
    Réponses: 2
    Dernier message: 17/05/2007, 18h00
  5. Problème avec les libraires dynamiques
    Par Harzoglups dans le forum C
    Réponses: 3
    Dernier message: 17/01/2006, 15h21

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