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 :

Rafraichissement de ligne dans un tableau (AJAX)


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut Rafraichissement de ligne dans un tableau (AJAX)
    Bonjour à tous,

    est-ce que quelqu'un sait s'il est possible de rafraichir une ligne (voire une cellule) d'un tableau JSF en AJAX ?

    j'ai tenté de définir des régions, de mettre des DIV (composant tomahawk) autour des composants, de mettre des id de lignes... rien n'y fait.

    Je tente de rafraichir avec un <a4j:support event='onchange' reRender='montableau:1:mondiv' /> (où "1" est l'index de ligne dans le tableau).

    Le fait de devoir rafraichir complètement le tableau a pour effet de ralentir les actions Ajax qui sont nombreuses. De plus, IE6 (navigateur imposé) ne s'en sort pas très bien avec les tableaux JSF comportant plus 10 lignes et des fonctions Ajax.

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut petit up pas beau
    Désolé de faire un petit up mais après avoir parcouru 12.763 pages et forum sur internet je désespère.
    : PAN:

    C'est quand même bizarre que personne n'ait jamais eu besoin de rafraichir des lignes spécifiques d'un tableau (potentiellement avec beaucoup de lignes et doc le rafraichissement de toute la table est à proscrire)

  3. #3
    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
    tu as essayé de donner un id à une colonne ou colonne group et faire un reRender?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut
    oui j'ai déjà essayé. Pas mal de versions différentes en plus.

    En code j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <h:selectOneMenu id="cible_langue" readonly="#{!parametre.nouveau}" disabled="#{!parametre.nouveau}"
    	value="#{parametre.langueCible}" labelErreur="demande_cible_langueCible">
    	<f:selectItem itemLabel="" itemValue="" />
    	<sv:selectItems value="#{utilitaireMB.listeLangues}" var="item"
    		itemLabel="#{item.code1}" itemValue="#{item.code1}" />
    	<a4j:support event="onchange" ajaxSingle="false"
    		actionListener="#{pageBean.changementLangue}"
    		reRender="colonneUL" />
    </h:selectOneMenu>
    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
     
    <t:column id="colonneUL" title="#{msg.demande_cible_travailUnite}">
    	<f:facet name="header">
    		<h:outputText id="trav_c"
    			value="#{msg.demande_cible_travailUnite}" />
    	</f:facet>
    	<tr:group id="groupeUL" >
    		<t:div id="divUL">
    		<h:selectOneMenu id="uniteUL" value="#{parametre.unite}" style="font-size:10pt">
    			<f:selectItem itemLabel="" itemValue="" />
    			<sv:selectItems value="#{utilitaireMB.listeDivision}" var="item"
    				itemLabel="#{item.code1}" itemValue="#{item.code1}" />
    				<a4j:support event="onblur" />
    		</h:selectOneMenu>
    		<h:message for="uniteUL" styleClass="error" showDetail="false" showSummary="true"></h:message>
    		</t:div> 
    	</tr:group>
    </t:column>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	public void changementLangue(ActionEvent e) {
     
    		Cible cible = (Cible) this.tableCible.getRowData();
     
    		if (cible.getUnite() == null || cible.getUnite().trim().length() == 0) {
    			ElementDomaine domaine = this.domaineManager.loadByCode1(Domaine.LANGUES, cible.getLangueCible());
    			if (domaine != null) {
    				cible.setUnite(domaine.getCode4());
    				modifierValeurChamp(e.getComponent().getParent().getClientId(FacesContext.getCurrentInstance()), domaine.getCode4());
    			}
    		}
    	}
    où modifierValeurChamp() permet d'indiquer à l'arbre de composants que la valeur a changée.

    J'ai tenté les rerender sur la colonne, le groupe, le div, le composant. Que neni...

Discussions similaires

  1. Ajax : insertion d'une ligne dans un tableau
    Par Flackou dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 26/05/2008, 13h50
  2. Problème saut de ligne dans un tableau
    Par talggir dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/11/2005, 15h10
  3. [Struts] Index de ligne dans 1 tableau
    Par javaSudOuest dans le forum Struts 1
    Réponses: 9
    Dernier message: 20/10/2005, 09h52
  4. probleme bizarre de hauteur auto d'une ligne dans un tableau
    Par zax-tfh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/01/2005, 23h34
  5. [C#] Affichage des lignes dans un tableau.
    Par maldufleur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h28

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