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 :

Mettre à jour un entity à partir d'une rich:comboBox


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Yux
    Yux est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 105
    Par défaut Mettre à jour un entity à partir d'une rich:comboBox
    Bonjour,

    Je rencontre des difficultés pour mettre à jour un bean entity à partir d'une rich:comboBox. J'ai réussi à mettre en oeuvre le procédé à l'aide d'une rich:suggestionbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <h:inputText id="name" required="true"
    	value="#{appellationHome.instance.name}" />
    <rich:suggestionbox for="name" var="result"
    	suggestionAction="#{appellationList.autocomplete}">
    	<h:column>
    		<h:outputText value="#{result.name}" />
    	</h:column>
    	<a:support ajaxSingle="true" event="onselect">
    		<f:setPropertyActionListener value="#{result}"
    			target="#{bottleHome.instance.appellation}" />
    	</a:support>
    </rich:suggestionbox>
    La méthode autocomplete est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private static final String EJBQL = "select appellation from Appellation appellation";
     
    @SuppressWarnings("unchecked")
    public List<Appellation> autocomplete(Object object) {
    	String query = this.getEjbql() + " where lower(appellation.name) like concat(lower('" + object.toString() + "'),'%') order by name";
    	return this.getEntityManager().createQuery(query).getResultList();
    }
    La différence fondamentale de comportement entre les deux composants est qu'avec la suggestionbox, on peut travailler directement sur une liste d'entités, alors qu'avec la comboBox, il faut récupérer une liste de String (appellation.name). Je ne vois pas comment réaliser ça de façon propre.

    Si quelqu'un pouvait me donner une piste, j'apprécierais vraiment

  2. #2
    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
    la comboBox est générée coté client, tu ne peux récupérer que l'objet String sélectionné, ou utiliser un converter et récupérer tout l'objet.

Discussions similaires

  1. [Toutes versions] Mettre à jour un champ à partir d'une variable
    Par familledacp dans le forum VBA Access
    Réponses: 6
    Dernier message: 25/04/2009, 20h43
  2. mettre à jour un xml à partir d'une BD
    Par med_ellouze dans le forum Format d'échange (XML, JSON...)
    Réponses: 24
    Dernier message: 09/08/2007, 21h08
  3. [C#] mettre à jour ma bdd à partir d'une datatable
    Par rudhf dans le forum Windows Forms
    Réponses: 17
    Dernier message: 27/04/2006, 14h27
  4. Réponses: 4
    Dernier message: 16/09/2005, 14h49
  5. Réponses: 3
    Dernier message: 09/07/2004, 10h23

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