Dans mon application JSF, je commance par cette fonction dans mon managed bean "MonBean":
Suite à la configuration dans faces-config.xml la page suivante est affichée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public String find() { String sql = "SELECT p FROM Personnes p"; java.util.List lst = crudBean.getDataList(sql); list.setWrappedData(lst); return "ok"; }
et dans mon managed bean "MonBean" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <rich:dataTable id ="table1" value="#{MonBean.list}" var="lst"> <f:facet name="header"> <h:outputText value="Liste des vol selon le ACB"/> </f:facet> <!-- Affichage d'autres colonnes ....--> <rich:column> <f:facet name="header"> <h:outputText value="supprimer"/> </f:facet> <h:commandLink id="link1" action="#{AcbFiles.suppr}" value="supprimer"/> </rich:column> </rich:dataTable>
Mon problème est que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private DataModel list; //Avec le getter et setter de list; public String suppr() { Personnes p = (Personnes ) list.getRowData(); String sql = "SELECT p FROM Personnes p WHERE p.id=" + p.getId(); crudBean.removeData(sql); return find(); }
Quand je clique sur supprimer, c'est toujour la dernière ligne qui est supprimée!!
Quand j'ai verifié la valeur de p.getId(), quelque soit la ligne sur laquelle je clique, le resultat de p.getId() est toujours le id de la dernière ligne!!
Je n'arrive pas à comprendre ce qui se passe!!
Pouvez-vous svp m'aider sur ce point?
Partager