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+
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