Bonjour,
J'ai une datatable éditable en mode édition de ligne.
La première colonne de ma table représente un lien permettant de supprimer la ligne.
Le problème est que lorsque je suis en édition d'une ligne, si j'appuie sur Enter, ça exécute mon action et ainsi supprime la ligne.
Je vous mets le code de la table avec en rouge la colonne qui s'exécute avec le Enter du clavier:
Qqun a-t-il une idée de comment empêcher ce comportement ?
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
54 <p:dataTable id="heures" value="#{saisirHeuresForm.listHeures}" var="heure" widgetVar="heureTable" emptyMessage="#{msg['AucuneSaisieAAfficher']}" rowKey="#{heure.id}" editable="true" > <f:facet name="header"> <p:outputPanel> <div align="left"> <h:panelGrid id="actionmain" columns="2" style="width:300px;" styleClass="panelSansBordure"> <p:commandLink action="#{saisirHeuresForm.ajouterHeure}" update=":saisirHeuresForm:heures" id="createHeureBtn" disabled="#{saisirHeuresForm.montantTarifKm eq 0 or saisirHeuresForm.currentEmployePer eq null}" styleClass="ui-icon ui-icon-action-ajouter" oncomplete="jQuery('.ui-datatable-data tr').last().find('span.ui-icon-pencil').each(function(){jQuery(this).click()});" /> <h:commandButton id="printRapport" value="#{msg['RapportMensuel']}" action="#{saisirHeuresForm.generateRapportMensuel}"></h:commandButton> </h:panelGrid> </div> </p:outputPanel> </f:facet> <p:ajax event="rowEdit" listener="#{saisirHeuresForm.enregistrerModification}" /> <p:ajax event="rowEditInit" listener="#{saisirHeuresForm.setSelectedHeureForEdit}" /> <p:column headerText="#" style="width:2%"> <p:commandLink /> </p:column> <p:column headerText="#" style="width:2%"> <p:commandLink onclick="PF('confDeleteDlg').show()" immediate="true" styleClass="ui-icon ui-icon-action-supprimer"> <f:setPropertyActionListener target="#{saisirHeuresForm.selectedHeure}" value="#{heure}" /> </p:commandLink> </p:column> <p:column headerText="@ #{msg['Mandat']}" style="width:7%"> <p:cellEditor> <f:facet name="output"> <h:outputText value="#{heure.mandat.numero}" /> </f:facet> <f:facet name="input"> <p:autoComplete id="mandat" value="#{heure.mandat}" completeMethod="#{saisirHeuresForm.completeMandat}" var="mandat" itemLabel="#{mandat.formatHeure}" itemValue="#{mandat}" converter="MandatConverter" forceSelection="false" size="50" > <p:ajax event="itemSelect" listener="#{saisirHeuresForm.updateLists()}" update="mo, phase" /> </p:autoComplete> </f:facet> </p:cellEditor> </p:column> </p:dataTable>
Merci pour votre aide
Partager