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 :

Primefaces 7.0 commandButton dans un dataScroller qui ne répond pas [JSF 2.X]


Sujet :

JSF Java

  1. #1
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 014
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut Primefaces 7.0 commandButton dans un dataScroller qui ne répond pas
    Bonjour, j'utilise un dataScroller pour afficher des 'posts' qui s'affiche au fur a mesure, dans chaque item il y a un commandButon qui invoque une méthode d'un managedBean en sessionScoped, les 10 premiers boutons fonctionnent mais pas ceux qui sont chargés à la volé (lazy loading).
    code :
    Vue :
    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
    <p:dataScroller widgetVar="newsfeed" chunkSize="10" rows="10" lazy="true" value="#{mainBean.model}"
                                        var="tp">
    //HTML
                                         <h:panelGroup layout="block" class="post-comment" rendered="#{mainBean.user.tableUsers!=null}">
                                            <img src="#{mainBean.user.tableUsers.avatarUrl}" alt="avatar" class="profile-photo-sm"/>
                                            <h:form>
                                                <p:commandButton icon="fa fa-reply" class="img-circle img-rounded"
                                                                 action="#{mainBean.actionClickReply(tp)}">
                                                </p:commandButton>
                                            </h:form>
                                        </h:panelGroup>
                                    </div>
                                </div>
                            </div>
                        </p:dataScroller>
    mainBean :
    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
    @ManagedBean
    @SessionScoped
    public class MainBean extends NewsFeed implements Serializable {
     
       ../..
        /**
         * Creates a new instance of MainBean
         */
        public MainBean() {
        }
     
       ../..   
        public void actionClickReply(TablePosts tp) {
            post.setTablePost(tp);
            post.setReply("");
            PrimeFaces.current().executeScript("PF('add_reply_dialog').show();");
        }
    ../..
    }
    Merci pour votre aide.

  2. #2
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 014
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Je n'ai pas trouvé de solution à mon problème mais j'ai codé une solution de remplacement en utilisant un p:remoteCommand :
    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
    <p:dataScroller widgetVar="newsfeed" chunkSize="10" rows="10" lazy="true" value="#{mainBean.model}"
                                        var="tp">
    //HTML
                                         <h:panelGroup layout="block" class="post-comment" rendered="#{mainBean.user.tableUsers!=null}">
                                            <p:tooltip for="reply-button" value="#{tp.idUser.replyButtonTooltip}" showEffect="drop" hideEffect="explode"/>
                                            <img src="#{mainBean.user.tableUsers.avatarUrl}" alt="avatar" class="profile-photo-sm"/>
                                            <p:commandButton id="reply-button" icon="fa fa-reply" class="img-circle img-rounded"
                                                             onclick="reply([{name: 'idPost', value:#{tp.id}}])">
                                            </p:commandButton>
                                        </h:panelGroup>
                                    </div>
                                </div>
                            </div>
                        </p:dataScroller>
                        <h:form>
                            <p:remoteCommand name="reply" update="@widgetVar(add_reply_dialog)" action="#{mainBean.actionClickReply()}"/>
                        </h:form>
    bean :
    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
    @ManagedBean
    @SessionScoped
    public class MainBean extends NewsFeed implements Serializable {
     
       ../..
        /**
         * Creates a new instance of MainBean
         */
        public MainBean() {
        }
     
       ../..   
         public void actionClickReply() {
            Map<String, String> params = getFacesContext().getExternalContext().getRequestParameterMap();
            try {
                long idPost = Long.parseLong(params.get("idPost"));
                post.setTP(idPost);
                post.setReply("");
                PrimeFaces.current().executeScript("PF('add_reply_dialog').show();");
            } catch (NumberFormatException e) {
     
            }
        }
    ../..
    }

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

Discussions similaires

  1. Insertion d'un fichier dans un BLOB qui ne marche pas
    Par Invité dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 15/11/2007, 19h57
  2. Réponses: 8
    Dernier message: 01/03/2007, 08h44
  3. Réponses: 2
    Dernier message: 06/02/2007, 09h17
  4. Réponses: 10
    Dernier message: 07/01/2007, 12h03
  5. Query Contains dans Full-Text qui ne retourne pas de valeurs
    Par icebe dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/02/2006, 14h04

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