Bon, je savais pas quoi mettre comme titre

J'ai la posibilite de choisir des langues ( représenté sous forme d'une chaine de caractère ).

Quand on langue est selectionnée, il doit être possible de choisir une personne de référence pour cette langue. La liste des personnes étant différente pour chaque langue.

Il n'est donc pas possible de faire un dataTable, avec un selectOneMenu, car il faudrait faire un appel du genre getListePersonne(String langue), or les EL ne le permette pas en JSF standard.

J'ai donc pensé à binde un panelGrid à mon composant et de le remplir manuellement, en construisant comme ceci :

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
//return this.panelLanguesEtPersonnes;
		HtmlPanelGrid panelGrid = new HtmlPanelGrid();
		
		for(LangueProcedure langue : this.listeLangueProcedure){
			HtmlOutputText outputText = new HtmlOutputText();
			outputText.setValue("Personne de contact pour " + langue.getLangue());
			panelGrid.getChildren().add(outputText);
			
			HtmlSelectOneMenu menu = new HtmlSelectOneMenu();
			menu.setValueBinding("value",  THAT_S_THE_QUESTION);
            
			
			for(Personne person : personneManager.loadByLanguage(langue.getLangue())){
				menu.getChildren().add(new SelectItem(person.getNom(), person.getNom()));
			}
            panelGrid.getChild().add(menu);
		}
Que dois-je mettre à la place de THAT_S_THE_QUESTION, pour le lié au bon element de la liste?

Quand on utilise les dataTable, on doit specifié une variable qui pointe sur la ligne courante, et on lie les composants via cette variable.

Comment faire ici ?

Merci d'avance de votre aide