PRIMEFACES - Atributo de checkbox sempre 'false' [Resolvido]

Fala galera!

Eu tenho um Datatable onde uma das colunas é um checkbox. Porém quando faço o submit, o atributo que representa meu checkbox no POJO sempre fica “false” independente de os checkbox estar ou não ticado. O meu POJO usado para popular o Datatable é o seguinte:

POJO

public class EmailGroupVO implements Serializable {

	private static final long serialVersionUID = 1L;
	private int id;
	private String description;
	private boolean included = false; // entra 'desticado' por default

	.
	.
	.
}

Managed Bean

List<EmailGroupVO> emailGroupList;

public void submit() {

	for(EmailGroupVO emailGroup : emailGroupList) {
	
		// independente se estão ticados ou desticados no Datatable, sempre vem "false"
		System.out.println(emailGroup.isIncluded());
	}
}

XHTML

<h:form>
	<h:panelGrid id="emailGroupGridPanel" columns="1" style="margin: 5px 0 0 62px;">
		<h:outputText value="Grupos de e-mail:"/>	
		<p:dataTable value="#{bean.emailGroupList}" var="emailGroup" scrollable="true" height="75" style="width: 349px; border-bottom: 1px solid darkGray;">
			<p:column style="width:220px; font-size: 13px;">   
				<f:facet name="header">  
						Grupo  
				</f:facet>  
				<h:outputText value="#{emailGroup.description}" />  
			</p:column>  
			<p:column style="width:30px; font-size: 13px; padding: 1px;">  
				<f:facet name="header">  
						Incluso 
				</f:facet>  
				<p:selectBooleanCheckbox value="#{emailGroup.included}" style="margin-left: 6px; margin-top: 0px"/>
			</p:column>
		</p:dataTable>
	</h:panelGrid>
	<p:commandButton action="#{bean.submit}" immediate="true" ajax="true" value="Salvar" />
<h:form>

Será que estou fazendo alguma coisa de errado? Essa não seria a melhor forma de se colocar um checkbox em um Datatable?

Valeu!

Cara, já testou o sistema sem essa linha

private boolean included = false; // entra 'desticado' por default 

???

caio.gaspar,

Testei sim, mas mesmo assim não adiantou.

Tenta assim.

private Boolean included;

t+

quebrado,

obrigado pela dica, mas acabei resolvendo o problema de outra forma. Simplesmente removi o atributo “immediate” do commandButton.

[]'s

[quote=rso1988]quebrado,

obrigado pela dica, mas acabei resolvendo o problema de outra forma. Simplesmente removi o atributo “immediate” do commandButton.

[]'s
[/quote]

rso1988 edita o nome do tópico adicionando [Resolvido]

:wink:

Opa oliversistemas,

Resolvido!

[]'s

[quote=rso1988]Opa oliversistemas,

Resolvido!

[]'s[/quote]
Vi que você já resolveu seu problema, mas apenas para conhecimento, o primefaces nos traz uma forma muito mais fácil de usar CheckBox no Grid, dê uma olhada em:

http://www.primefaces.org/showcase-labs/ui/datatableRowSelectionRadioCheckbox.jsf

Ele utiliza apenas um:

 <p:column selectionMode="multiple" />  

E no o p:datatable fica:

<p:dataTable var="car" value="#{tableBean.mediumCarsModel}" paginator="true" rows="10" selection="#{tableBean.selectedCars}">
Esse selection é que faz a mágica, é passado um Array de Objetos, veja o Bean:

 private Car[] selectedCars;  

Fica a dica :wink: