Primefaces DataTable

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>

humm… iai?
erro?

Simples!!
Vc não tem um metodo de exclusão e sim uma mensagem de cancelamento da edição.
Este recurso do datatable serve apenas editar dados de uma linha e não para exclui-los, no site do prime também não exclui, apenas cancela e edita!!

Como eu faria um método para excluir os elementos da lista através do botão (Primefaces).