[Resolvido] primefaces column multiple

Pessoal

Tenho uma dataTable do primefaces e uma das colunas dela eh uma checkbox,

O visual esta fazendo certo, soh que quando se seleciona o cks o array de itens selecionados nao esta sendo selecionado, alguem tem alguma dica? segue

[code]
<h:form id=“formulario”>
<p:dataTable id=“multiCars” var=“item” value="#{testeController.empresasTiposAjustes}" paginator=“true” rows=“10”
selection="#{testeController.empresasSelected}">

		 <p:column id="columnCheckBox" selectionMode="multiple" />  
		 <p:column id="column">
		 	<h:outputText>#{item.tipoAjuste}</h:outputText>
		 </p:column>
		 <p:column id="column2">
		 	<h:outputText value="#{item.txtAjuste}"/>
		 </p:column>
		 <f:facet name="footer">  
		 	<p:commandButton id="adicionarLinha" 
				actionListener="#{testeController.adicionarLinha}" value="adicionar linha"
				update=":formulario:multiCars" process="@this"/> 
				
			<p:commandButton id="excluirLinha" actionListener="#{testeController.excluirLinha}"
				 value="excluir linha" partialSubmit="true" update=":formulario:multiCars"/> 
				 
				 
			<p:commandButton id="multiViewButton" value="View" icon="ui-icon-search"  
                         update=":formulario:displayMulti" oncomplete="multiCarDialog.show()"/>  
		 </f:facet>
	</p:dataTable>
	<p:dialog id="multiDialog" header="Car Detail" widgetVar="multiCarDialog"  
          height="300" showEffect="fade" hideEffect="explode">  

    <p:dataList id="displayMulti"  
            value="#{testeController.empresasSelected}" var="selectedCar">  
        Model: #{selectedCar.tipoAjuste}
    </p:dataList>  

</p:dialog>  
</h:form>[/code]

managedbean

@ManagedBean
@SessionScoped
public class TesteController {

	private SelectListDataModel<EmpresaTipoAjuste> empresasTiposAjustes =  null;
	private EmpresaTipoAjuste[] empresasSelected;

	public TesteController() {
		
	}
	
	public void adicionarLinha(ActionEvent e) {

		
		if (this.getEmpresasTiposAjustes() == null) {
			this.setEmpresasTiposAjustes(new SelectListDataModel<EmpresaTipoAjuste>(new ArrayList<EmpresaTipoAjuste>()));
		}
		for (int i = 0; i < 10; i++) {
			EmpresaTipoAjuste empresaTipoAjuste = new EmpresaTipoAjuste();
			empresaTipoAjuste.setTipoAjuste(i);
			empresaTipoAjuste.setTxtAjuste(i+"");
			this.getEmpresasTiposAjustes().add(empresaTipoAjuste);
		}
		
		
		
	}

	public void excluirLinha(ActionEvent e) {
		
		this.getEmpresasSelected();
//		this.getEmpresasTiposAjustes().remove(this.getEmpresasSelected());
	}

	public SelectListDataModel<EmpresaTipoAjuste> getEmpresasTiposAjustes() {
		return empresasTiposAjustes;
	}

	public void setEmpresasTiposAjustes(SelectListDataModel<EmpresaTipoAjuste> empresasTiposAjustes) {
		this.empresasTiposAjustes = empresasTiposAjustes;
	}

	public EmpresaTipoAjuste[] getEmpresasSelected() {
		return empresasSelected;
	}

	public void setEmpresasSelected(EmpresaTipoAjuste[] empresasSelected) {
		this.empresasSelected = empresasSelected;
	}

}[/code]

Bean

[code]@Entity
@Table(name = "ADM_EMPRESA_TIPO_AJUSTE")
public class EmpresaTipoAjuste extends AbstractEntity {

	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "ID_ADM_EMPRESA_TIPO_AJUSTE")
	private Integer id;
	
	@NotNull
	@ManyToOne
	@JoinColumn(name="ID_ADM_EMPRESA")
	private Empresa empresa;

	@NotNull
	@Column(name = "TIPO_AJUSTE")
	private Integer tipoAjuste;
	
	//TODO trocar o nome para textoAjuste, ou texto, e nao TXT
	@NotEmpty
	@Column(name = "TXT_AJUSTE")
	private String txtAjuste;
	
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Empresa getEmpresa() {
		return empresa;
	}

	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}

	public Integer getTipoAjuste() {
		return tipoAjuste;
	}

	public void setTipoAjuste(Integer tipoAjuste) {
		this.tipoAjuste = tipoAjuste;
	}

	public String getTxtAjuste() {
		return txtAjuste;
	}

	public void setTxtAjuste(String txtAjuste) {
		this.txtAjuste = txtAjuste;
	}
	
}[/code]

Wrapper de list do primefaces

[code]public class SelectListDataModel<T extends AbstractEntity> extends ListDataModel<T> implements SelectableDataModel<T>, Serializable {  

	private static final long serialVersionUID = 1L;

	public SelectListDataModel() {
    }

    public SelectListDataModel(List<T> data) {
        super(data);
    }
    
    public void add(T t) {
    	List<T> objects = (List<T>) getWrappedData();
    	objects.add(t);
    	
    }
    
    public void remove(T t) {
    	List<T> objects = (List<T>) getWrappedData();
    	objects.remove(t);
    	
    }
    
    @SuppressWarnings("unchecked")
	@Override
    public T getRowData(String rowKey) {
        //In a real app, a more efficient way like a query by rowKey should be implemented to deal with huge data
        
        List<T> objects = (List<T>) getWrappedData();
        
        for(T obj : objects) {
            if(obj.getId().equals(Integer.valueOf(rowKey)))
                return obj;
        }
        
        return null;
    }

    @Override
    public Object getRowKey(T obj) {
        return obj.getId();
    }
}

Estou com esse mesmo problema. Não sei o que está ocorrendo. Fiz o desenvolvimento igual ao que existe em outro ponto do sistema e, nesse último não está marcando as linhas que são selecionadas.
Se alguém puder ajudar.

Obrigado.

Resolvido

faltava o rowKey da dataTable