Boa noite, estou começando a utilizar o JSF + Primefaces.
Gostaria de saber porque não consigo remover os elementos da tabela(http://www.primefaces.org/showcase-labs/ui/datatableEditing.jsf).
public class Produto {
private int ecommerce = 100;
private String nome = "Maça";
private int quantidade = 300;
Produto(int ecommerce, String nome, int quantidade){
this.nome = nome;
this.ecommerce = ecommerce;
this.quantidade = quantidade;
}
public int getEcommerce() {
return ecommerce;
}
public void setEcommerce(int ecommerce) {
this.ecommerce = ecommerce;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getQuantidade() {
return quantidade;
}
public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}
}
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import org.primefaces.event.RowEditEvent;
@ManagedBean
public class BeanProdutoFixo implements Serializable {
List<Produto> produto = new ArrayList<Produto>();
public List<Produto> getProduto() {
produto.add(new Produto(10, "Maça", 300));
produto.add(new Produto(11, "Pera", 400));
produto.add(new Produto(13, "Uva", 350));
produto.add(new Produto(14, "Banana", 700));
return produto;
}
public void onEdit(RowEditEvent event) {
FacesMessage msg = new FacesMessage("Editado");
// produto.remove(1);
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void onCancel(RowEditEvent event) {
FacesMessage msg = new FacesMessage("removido");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<link href="#{facesContext.externalContext.requestContextPath}/resources/nomedoSkin/theme.css" rel="stylesheet" type="text/css"/>
</h:head>
<h:form id="form">
<p:growl id="messages" showDetail="true" />
<p:dataTable var="produto" value="#{beanProdutoFixo.produto}" id="produtoList"
editable="true">
<f:facet name="header">
In-Cell Editing
</f:facet>
<p:ajax event="rowEdit" listener="#{beanProdutoFixo.onEdit}"
update=":form:messages" />
<p:ajax event="rowEditCancel" listener="#{beanProdutoFixo.onCancel}"
update=":form:messages" />
<p:column headerText="Ecommerce" style="width:125px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{produto.ecommerce}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{produto.ecommerce}" style="width:100%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Quantidade" style="width:125px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{produto.quantidade}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{produto.quantidade}" style="width:100%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Options" style="width:50px">
<p:rowEditor />
</p:column>
</p:dataTable>
</h:form>
</html>