Bonjour,
je veux implémenter l'extendeddatamodel de richfaces
de sorte que quand je supprime une ligne de ma grille je n'ai pas à recharger depuis ma base toutes mes autres lignes
Ma grille :
chacune des lignes de la grille aura un bouton delete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <rich:dataTable id="myTable" value="#{model}" var="establishments" > <rich:column> <f:facet name="header"><h:outputText value="Action" /></f:facet> <a4j:commandButton id="editlink" value="d" action="#{model.test}" > <f:setPropertyActionListener value="#{establishments}" target="#{model.testAjax}" /> </a4j:commandButton>
mon bean model est déclaré dans mon faces-config et hérite de extendeddatamodel.
J'ai deux problèmes :
1) quand je clique sur un bouton delete il passe dans les méthodes walk de mon extendeddatamodel (bean model ds mon cas) donc mes lignes ont bien été sauvegardés grace a la méthode getSerializableModel de extendeddatamodel.
MAIS comme mon bean model est déclaré dans le faces-config il va recréer une instance de mon bean model et donc de mon extendeddatamodel, à ce moment il passe une dernière fois dans la méthode walk et mes lignes à ce moment sont logiquement null
2) je demande d'appeler la méthode test en cliquant sur delete, après le passage dans la méthode walk, il n'y va jamais, j'ai même essayé d'utiliser 2 beans différent, un pour l'extendeddatamodel et l'autre qui contient la méthode test, il passe jamais dedans
voici ma méthode walk dans mon bean "model"
Je cherche donc un moyen de ne pas recharger les autres ligne de la grille normalement l'extended datamodel est fait pour ca, et aussi comment passer dans ma méthode test, merci d'avance
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 public void walk(FacesContext context, DataVisitor visitor, Range range, Object argument) throws IOException { int firstRow = ((SequenceRange)range).getFirstRow(); int numberOfRows = ((SequenceRange)range).getRows(); if(wrappedKeys == null || wrappedKeys.isEmpty()){ wrappedKeys = new ArrayList<Integer>(); for (Establishment item:establishmentDao.findAll()) { wrappedKeys.add(item.getIdestablishmentEst()); wrappedData.put(item.getIdestablishmentEst(), item); visitor.process(context, item.getIdestablishmentEst(), argument); } } }
Partager