Вид:р: DataTable cellEdit Ajax вызов не вызывает Действие
<h:form>
<p:dataTable rows="10" id="analysisListTable" value="#{analyses}" var="anl" resizableColumns="true" editable="true" editMode="cell">
<p:ajax event="cellEdit" listener="#{analysisBean.onCellEdit}" />
<p:column headerText="Aktif" footerText="Aktif" sortBy="#{anl.active}" width="40" styleClass="TexAlCenter">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{anl.active?' Evet':' Hayır'}"/>
</f:facet>
<f:facet name="input">
<h:selectBooleanCheckbox value="#{anl.active}" title="Aktif"></h:selectBooleanCheckbox>
</f:facet>
</p:cellEditor>
</p:column>
Действие:
import org.primefaces.event.CellEditEvent;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
import org.mockingjay.bird.AnalysisBeanInterface;
import org.mockingjay.bird.Model.Analysis.Analysis;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
/**
* Created by Erhan FIRAT on 15.01.2016.
*/
@Stateful
@Name("analysisBean")
@Scope(ScopeType.SESSION)
public class AnalysisBean implements AnalysisBeanInterface {
@PersistenceContext
private EntityManager em;
@DataModel
private List<Analysis> analyses;
@DataModelSelection
@Out(required=false)
private Analysis analysis;
@Factory("analyses")
public void findAnalyses(){
analyses = em.createQuery("select anl from Analysis anl").getResultList();
}
public void onCellEdit(CellEditEvent event) {
Object oldValue = event.getOldValue();
Object newValue = event.getNewValue();
System.out.println(analysis.title + " > Active = " + analysis.isActive() + " olarak kaydedildi.");
}
При запуске сервера, DataTables поставляются с DATAS. И когда я нажимаю на ячейку, она изменяется от outputText
до selectBooleanCheckbox
. Однако, когда я меняю, он не вызывает действие onCellEdit
.
Сообщите свой импорт. – Kukeltje
он разрабатывается в Seam Framework. Эти аннотации выглядят нормально в соответствии с документацией здесь: https://docs.jboss.org/seam/latest/reference/html/tutorial.html – efirat
возможно, новое логическое значение не получает немедленно отправлено –