2016-04-28 12 views
0

In einem p:dataTable habe ich rowStyleCalssp: Datatable Add-Klasse rudern auf cellEdit

rowStyleClass="#{field.version eq -1 ? 'draft' : null}" 

aber es funktioniert nicht, wenn die Daten bearbeitet werden. Ich muss dann Seite neu laden, was eine schlechte Idee ist, wenn Benutzer eine Zeile bearbeiten. Wenn der Benutzer die Bearbeitung beendet hat, wird field.version auf -1 gesetzt. Ich möchte dann Klasse "Entwurf" zur Zeile hinzufügen.

Können Sie mir dabei helfen?

+0

Verwendung PrimeFaces Erweiterungen 'pe: javascript' eine Klasse auf die Reihe zu Beginn des Bearbeitungs Event hinzufügen und entfernen, wenn die Bearbeitung abgeschlossen ist – Kukeltje

Antwort

0

Ich fand eine Lösung.

<script type="text/javascript"> 
     function handleCellEdit(args) 
     { 
      if(! ($("tr[data-ri='"+args.rowIndex+"']").hasClass('draft'))) { 
       $("tr[data-ri='"+args.rowIndex+"']").addClass('draft') 
      } 
     } 
    </script> 


<p:ajax event="cellEdit" listener="....." oncomplete="handleCellEdit(args);" /> 

In onCellEdit Verfahren in bean

RequestContext requestContext = RequestContext.getCurrentInstance(); 
requestContext.addCallbackParam("rowIndex", event.getRowIndex()); 
Verwandte Themen