Bonjour,
Je voudrai donner une valeur par défaut à un liste déroulante. J'ai trouvé des exemples qui changent le getDisplayValue() de IChoiceRenderer() mais le problème c'est que la méthode ne convient pas à mon cas.
J'ai deux DropDownChoice: statusChoice (contenant une liste d'action) et assignedToChoice (contenant une liste des personnes pouvant faire cette action).
Actuellement, les deux DropDownChoice sont vides au chargement de la page. Si on change la valeur de statusChoice, on charge la liste des personnes correspondant à cette valeur dans assignedToChoice.
Mon objectif c'est de donner une valeur par defaut à statusChoice (qui est "Suite-Traitements") et aussi une valeur par defaut à assignedToChoice (c'est la dernière personne à qui on a assigné un ticket ou une action).
Voici quelques codes de la classe
Merci d'avance pour vos réponses.
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 final DropDownChoice assignedToChoice = new DropDownChoice("assignedTo", emptyList, new IChoiceRenderer() { public Object getDisplayValue(Object o) { return ((User) o).getName(); } public String getIdValue(Object o, int i) { return ((User) o).getId() + ""; } }); ... statusChoice = new IndicatingDropDownChoice("status", states, new IChoiceRenderer() { public Object getDisplayValue(Object o) { return statesMap.get(o); } public String getIdValue(Object o, int i) { return o.toString(); } }); statusChoice.setNullValid(true); statusChoice.add(new ErrorHighlighter()); statusChoice.add(new AjaxFormComponentUpdatingBehavior("onChange") { protected void onUpdate(AjaxRequestTarget target) { Integer selectedStatus = (Integer) getFormComponent().getConvertedInput(); if (selectedStatus == null) { List listeVide = new ArrayList(); assignedToChoice.setChoices(listeVide); assignedToChoice.setVisible(true); group.setVisible(false); //System.out.println(assignedToChoice.getInput()); //hide.setVisible(true); } else { List<User> assignable = UserUtils.filterUsersAbleToTransitionFrom(userSpaceRoles, space, selectedStatus); List<Direction> directions = new ArrayList(); for(User usr : assignable){ Direction temp = getJtrac().loadDirection(usr.getDirection().getId()); usr.setDirection(temp); if((!directions.contains(usr.getDirection()))){ directions.add(temp); //System.out.println("\n\nireto lets no itany an*/*/*//\n\n"); } } listView2.setList(directions); listView2.setAssignable(assignable); listView2.setVisible(true); group.setAssignable(assignable); group.setVisible(true); assignedToChoice.setChoices(assignable); assignedToChoice.setVisible(true); //hide.setVisible(false); } target.addComponent(border); } });
Partager