Bonjour, malgré que j'utilise la version 3.2.0 de richfaces, je me retrouve avec un problème assez embêtant avec le composant Datascroller.
Lorsque je réalise une action comme l'effacement d'un enregistrement lié à la table du datascroller et que le nombre de page se modifie, le datascroller ne pointe pas sur la dernière page réelle mais sur la dernière page avant la modification.
Ex:Je suis sur la page 3,il y a juste un enregistrement. Je l'efface et lorsque la page est réactualisée je reste sur la page numéro 3 même si elle n'existe plus. je devrai être normalement sur la page 2.
Je pense avoir trouvé une solution avec UIDatascroller.LAST_FACET_NAME mais je ne sais pas du tout comment relier cette propriété au datascroller en question et l'appeler au bon moment.
Voilà un semblant de manage bean fait uniquement pour cette action:
Le problème c'est que getPageIndex() et setPage() sont des méthodes dépréciées.
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 package OK_Web.ManagedBean; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import org.richfaces.component.UIDatascroller; public class RichDataScrollerHelper { private UIDatascroller dataScroller; public UIDatascroller getDataScroller() { return dataScroller; } public void setDataScroller(UIDatascroller dataScroller) { this.dataScroller = dataScroller; } public void checkPages(string id) { UIComponent dataScroller = (UIComponent) FacesContext.getCurrentInstance().getViewRoot().findComponent(id); int pageCount = dataScroller.getPageCount(); int pageIndex = dataScroller.getPageIndex(); if (pageIndex > pageCount) { dataScroller.setPage(UIDatascroller.LAST_FACET_NAME); } } }
Partager