2017-02-14 2 views
0

Ich habe ein Problem mit primefaces, Datatable, editMode = "Zelle"primefaces p: datable editMode = "Zelle"

Ich habe eine Datentabelle, editierbare mit editMode = "Zelle". Wenn ich eine Zelle ändere und ich sofort auf den "validieren" -Button klicke (ohne die Zelle zu verlassen), funktioniert die Schaltfläche nicht und die Zelle befindet sich noch im Bearbeitungsmodus, und wenn ich den "validieren" -Knopf erneut betätige, funktioniert Button.

Hier können Sie meine Datatable aussehen:

 <p:dataTable var="fact" id ="FactureTable" 
       value="#{monBean.factureDataModel}" 
          editable="true" rowKey="#{fact.id.factNumero}" 
          emptyMessage="#{fichierMessage['DATATABLE.NORECORDSFOUNS']}" 
          scrollable="true" scrollHeight="100" editMode="cell" selection="#{monBean.factureSelectionner}" > 

          <p:ajax event="rowSelectRadio" process="@this" listener="#{monBean.selectionnerFacture}" update=":#{p:component('InterventionTable')}"/> 
          <p:column selectionMode="single" style="width:10px;"> 
          </p:column> 

          <p:column headerText="#{messages['Facture.numero']}" > 
           <p:cellEditor > 
            <f:facet name="output"> 
             <h:outputText value="#{fact.id.factNumero}" /> 
            </f:facet> 
            <f:facet name="input"> 
             <p:inputText value="#{fact.id.factNumero}" disabled="#{fact.griserCode}" 
              style="width:96%" /> 
            </f:facet> 
           </p:cellEditor> 
          </p:column> 

          <p:column headerText="#{messages['Facture.date']}"> 
           <p:cellEditor> 
            <f:facet name="output"> 
             <h:outputText value="#{fact.factDate}"> 
              <f:convertDateTime type="date" dateStyle="short" 
              pattern="dd/MM/yyyy" /> 
            </h:outputText> 
            </f:facet> 
            <f:facet name="input"> 
             <p:inputMask maxlength="12" style="width:96px;" value="#{fact.factDate}" mask="99/99/9999" disabled="#{fact.griserCode}"> 
             <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy" /> 
             <p:ajax process="@this" listener="#{monBean.affectationMoisEtExercice(fact)}" update=":#{p:component('FactureTable')},:#{p:component('message')}"/> 
            </p:inputMask> 
            </f:facet> 
           </p:cellEditor> 
          </p:column> 
     </p:datatable> 
+0

Duplikat http://stackoverflow.com/questions/30384560 – Spartan

+0

die Lösung in diesem Beitrag funktioniert nicht für mich –

+0

der Bouton "validieren" ist out aus datatable –

Antwort

0

Ich benutze diese Lösung:

I editMode = "Zelle" nicht in p verwenden: Datatable ich ändern editierbare = "true" durch editierbare = "false" in p: datatable

ich benutze keine p: cellEditor f: Facette name = "output"

einfach in p: Spalte Ich benutze p: input, p: InputMask ...,


Gießen éviter les problème de l'Ajax dans les "Datatable" éditables, merci suivre les Anweisung suivante:

l'attruibut editMode = "Zelle" ne doit pas figurer dans le-Tag p: Datatable Wechsler editierbar = "true" par editierbar = "false"

ne pas les Verwerter tags: p: cellEditor f: Facette name = "Ausgabe"

Un einfache tag va être utilisé l'affichage et la Modifikation des donnée exple gießen (p: input, p: InputMask ...)

Verwandte Themen