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 :

Comment créer une PickList avec un champ autocomplete à gauche et une multiselectbox à droite


Sujet :

JSF Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Points : 250
    Points
    250
    Par défaut Comment créer une PickList avec un champ autocomplete à gauche et une multiselectbox à droite
    Bonjour,

    je voudrais creer une picklist (primefaces) avec un element autocomplete à gauche et une multiselectbox à droite de sorte que quand je cherche un element dans mon champ autocomplete (à gauche) je puisse le faire glisser dans ma boite (multiselect) à droite.

    Merci d'avance pourn vos suggestions

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Points : 250
    Points
    250
    Par défaut
    Bonjour,

    j'ai avancé dans mon implementation.

    J'ai pour le champ à gauche un champ autocomplete suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    		<p:autoComplete id="#{id}" value="#{myBean.ville}" rendered="#{empty rendered ? true : rendered}"
    			completeMethod="#{villeHelper.completeVille}" forceSelection="true"
    			minQueryLength="1" maxResults="20" var="ville"
    			itemLabel="#{ville.commune} (#{ville.codePostal})"
    			itemValue="#{ville}" converter="#{villeConverter}"
    			queryDelay="300" size="40" disabled="#{disabled}">
    			<ui:insert name="villeInnerText"/>
    		</p:autoComplete>
    avec mon villeConverter
    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
     
    public class VilleConverter implements Converter {
     
    	@ManagedProperty("#{dataReferenceHelper}")
    	private DataReferenceHelper dataReferenceHelper;
     
             ...................
     
    	/* (non-Javadoc)
    	 * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String)
    	 */
    	@Override
    	public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
    		Ville ville = null;
     
    		if (value != null && !StringUtils.isEmpty(value.trim())) {
    			ville = dataReferenceHelper.getVille(value);
    		}
     
    		return ville;
    	}
     
    	/* (non-Javadoc)
    	 * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)
    	 */
    	@Override
    	public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException {
    		if (value instanceof Ville) {
    			Ville ville = (Ville) value;
    			return ville.getVillePk().toString();
    		}
    		return null;
    	}
    pour mon champ à droite j'ai une

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      		<h:selectManyListbox value="#{bean.selectedItems}">
       			<f:selectItems value="#{bean.selectItems}" />
       		</h:selectManyListbox>
    Ma première question est : comment utiliser mon villeConverter pour dire que selectedItems est une liste de ville

    Pour mon bouton au milieu, j'ai un element commandButton pour ajouter une ville de gauche à la liste de droite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:commandButton action="#{bean.addVille}" >
        <f:setPropertyActionListener target="#{bean.addedVille}" value="#{myBean.ville}" />
    </h:commandButton>
    Ma deuxième question est : comment utiliser mon villeConverter pour convertir myBean.ville en une ville qui sera rangée dans bean.addedVille

    Et voici mon bean ou la logique d'ajout et de gestion de ma selectManyListBox est présente

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private List<SelectItem> selectItems; // avec getters et setters
    private List<Ville> selectedItems; // avec getters et setters
    private Ville addedVille;   // avec getters et setters
    
    public void addVille() {
       if (selectedItems == null ) {
            selectItems = new ArrayList<SelectItem>();
       }
       selectItems.add(new SelectItem("value1" (<- ma troisième question, que dois-je mettre ici, addedville.getVillePk().toString() ?) , addedVille.getName()));
    
    }
    Enfin voici ma classe ville
    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
     
    public class Ville implements Identifiable<VillePk>, Serializable {
     
    	/** The ville pk. */
    	@EmbeddedId
    	private VillePk villePk = new VillePk();
     
    	/** The commune. */
    	@Size(max = 172)
    	@Column(length = 172)
    	private String commune;
     
    	/** The arrondissement. */
    	@Column
    	private Integer arrondissement;
    Merci d'avance pour vos réponses

Discussions similaires

  1. [MySQL] Créer une variable avec plusieurs champs
    Par Brian35 dans le forum PHP & Base de données
    Réponses: 33
    Dernier message: 14/05/2012, 08h49
  2. [phpMyAdmin] Comment importer une colonne excel dans une BDD avec plusieurs champs ?
    Par guillaume7684 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 30/06/2009, 14h57
  3. Créer une expression avec un champ existant
    Par kissmytoe dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 16/06/2009, 23h59
  4. Créer une vue avec un champ Blob
    Par Taoueret dans le forum SQL
    Réponses: 4
    Dernier message: 16/05/2008, 16h18
  5. Impossible de créer une vue avec un champ spatial
    Par M Roncheau dans le forum SQL
    Réponses: 2
    Dernier message: 24/08/2007, 09h11

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