DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled

Quando eu executo a minha aplicação, no método de inclusão essa mensagem é mostrada e o programa aborta a execução, estou usando jsf 2.0 primefaces 3.0, os códigos a seguir.


listSubstituicao.xhtml 

<p:commandButton event="rowSelect" style="margin-right:20px;" value="#{substituicaomsgs['navigation.new']}" action="#{SubstituicaoComponent.newSubstituicao}" />
			
			<p:dataTable id="dta" value="#{SubstituicaoComponent.listaSubstituicao}"  var="current"   
			               	 selection="#{SubstituicaoComponent.selectedSubstituicao}" 			             
			               	 selectionMode="single" rowKey="#{current.idSubstituicao}" rows="7" paginator="true"  >  
		

o método icluir no Bean é o seguinte.


@Override
public String newSubstituicao( )  {
		this.limpaConteudo();
		this.popularDiaSemana();
		this.popularHoraTrabalho();
		substituicao = new Substituicao();
		return "/jsf/substituicao/createSubstituicao.xhtml";
	}

o que me intriga é que os processos de exclusão, alteração e consulta, funcionam normalmente. Somente na inclusão de um novo registro, dá esse erro. Já procurei na web, mas não consegui nada que pudesse me ajudar.

eu implementei também os métodos getRowData() e o getRowKey(), o que falta para a inclusão ser efetuada.

podem me ajudar, alguém passou por esse problema.

Pessoal, hoje dia 06, consegui resolver esse problema, só para lembrar, para que passar por esse erro.

é necessário criar uma classe model e especializar a partir da implementação selectableDatamodel.java e implementar os dois métodos, e especificar para cada classe que
usa o datatable onde se faz a seleção de registros.

eu percebi que não tinha feito depois de uma boas “brigas” que é muito comum na nossa área. …

bem é isso. obrigado a todos pela ajuda.

estou com o mesmo problema, mais foi só eu atualizar a versão do prime pra 3.0 antes eu estava usando a 3.0.M4 com a tag xmlns:p=“http://primefaces.prime.com.tr/ui”, e outras coisas pararam de funcionar tb tal como <p:layout fullPage=“true”>

Alterei a definição para : xmlns:p=“http://primefaces.org/ui” e funcionou.

Abraço.