[RESOLVIDO]Ajuda para criar um p:selectManyCheckbox

Bom Dia galera.
Estou com uma dúvida para criar um p:selectManyCheckbox, o cenário é o seguinte:
Tenho um cadastro de visitante onde espero que ele me forneça os dias da semana que seje melhor para ele malhar, assim eu exibiria as seguintes opções para ele:

<p:selectManyCheckbox value="">  
           <f:selectItem itemLabel="Segunda" itemValue="Segunda" />  
           <f:selectItem itemLabel="Terça"      itemValue="Terca" />  
           <f:selectItem itemLabel="Quarta"    itemValue="Quarta" />  
</p:selectManyCheckbox>

O problema é, como irei gravar isso no banco ? e depois quando eu for consultar ira mostrar o checkbox selecionado ?
Bem, agraço se puderem me ajudar …

Obrigado

cara,

vc vai ter que criar na sua tabela, um campo do tipo boolean para cada dia da semana, e depois so criar um checkbox para cada dia no sua tela.

t+

Atraves do value de

<p:selectManyCheckbox value=""> 

Você irá controlar ele atraves dos get/set no seu controlador

Ex:

Controlador

[code]
XController{
private String diaSemana;

public void setDiaSemana(String diaSemana){
this.diaSemana = diaSemana;
}

public String getDiaSemana(){
return diaSemana;
}

}[/code]

JSF

    <p:selectManyCheckbox value="xController.diaSemana">    
               <f:selectItem itemLabel="Segunda" itemValue="Segunda" />    
               <f:selectItem itemLabel="Terça"      itemValue="Terca" />    
               <f:selectItem itemLabel="Quarta"    itemValue="Quarta" />    
    </p:selectManyCheckbox>  

Espero que consiga entender, hehhe

Laercio, da forma que vc sugeriu eu consigo fazer, inserção é feita no BD fica dessa forma:

[ SEGUNDA,TERCA,QUARTA]//ESTA EXIBINDO COMO SE ESTIVESSE EM VETOR MAS A VARIAVEL É STRING

Porém tenho problema para quando irei exibir a consulta na tela, é exibido um erro dizendo que não posso converter uma list para String.

Alisson, segundo o que sugere seria dessa forma ?

private Boolean segunda;
private Boolean terça;

Mas ai ao inves de usar o Many usuaria o selectBooleanCheckbox ?

isso, acho que vai ser a melhor forma para vc fazer consulta no banco.

t+

  1. Crie um enum com os dias da semana.
  2. Crie uma classe que seja DiaParaMalhar onde conterá um valor desse enum
  3. Na classe pessoa você teria uma classe com uma lista de DiaParamalhar da pessoa
  4. Ao carregar e exibir o valor no p:selectManyCheckbox você irá por exemplo colocar essa lista e acrescentar o restante dos dias.

Alisson, fiz como vc sugeriu … ficou dessa forma:

private Boolean melhorDia_Segunda;
	private Boolean melhorDia_Terca;
	private Boolean melhorDia_Quarta;
	private Boolean melhorDia_Quinta;
	private Boolean melhorDia_Sexta;
	private Boolean melhorDia_Sabado;

Pagina

<h:outputText value="Quais dias são os melhores?"/>
										<h:panelGrid columns="12" columnClasses="colunaEsquerda,colunaDireita">
											<h:outputText value="Segunda: "/>
											<p:selectBooleanCheckbox value="#{visitanteBean.visitante.melhorDia_Segunda}"/>	
											<h:outputText value="Terça: "/>
											<p:selectBooleanCheckbox value="#{visitanteBean.visitante.melhorDia_Terca}"/>
											<h:outputText value="Quarta: "/>
											<p:selectBooleanCheckbox value="#{visitanteBean.visitante.melhorDia_Quarta}"/>
											<h:outputText value="Quinta: "/>
											<p:selectBooleanCheckbox value="#{visitanteBean.visitante.melhorDia_Quinta}"/>
											<h:outputText value="Sexta: "/>
											<p:selectBooleanCheckbox value="#{visitanteBean.visitante.melhorDia_Sexta}"/>
											<h:outputText value="Sábado: "/>
											<p:selectBooleanCheckbox value="#{visitanteBean.visitante.melhorDia_Sabado}"/>
										</h:panelGrid>

Agora ficou da forma que eu queria … Obrigado galera