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!