Duvida selectonemenu primefaces

[i]Galera tudo bem?

Meu primeiro post aqui no GUJ e ja vim perguntar rsrs…
Enfim, vamos lá …

Tenho um selectOneMenu do primefaces ( não precisar ser do primefaces obrigatoriamente ) e preciso ‘classificar’ ele…
Exemplo:

– 08/05/2012
----- OPÇÃO 1
----- OPÇÃO 2
– 09/05/2012
----- OPÇÃO 5
----- OPÇÃO 6

Enfim, desta forma, não sei se fui muito claro. Todas essas informações estão no banco de dados e preciso exibir isto para o usuario…

Existe alguma forma de fazer isso no meu contexto? ( JSF 2, Primefaces e Hibernate )

Obrigado pessoal :smiley: [/i]

Fala!!!

É o seguinte, tem sim como fazer isso, vc deve criar uma Lista e chamar a mesma dentro do selectOneMenu, porém vc deve ter um relacionamento da tabela de origem dos dados com a tabela onde serão armazenado os dados. O selectOneMenu fica parecido com o exemplo abaixo.

<p:selectOneMenu id=“servico” value="#{servicoBean.servico.servicoSelecionado}" required=“true”>
<f:selectItem itemLabel=“Selecione…” itemValue=""/>
<f:selectItems value="#{serviçoBean.listaServico}" var=“servico” itemValue="#{servico.idServico}" itemLabel="#{servico.descricaoServico}"/>
</p:selectOneMenu>

Mais note que, o que será armazenado na tabela será o ID e não a descrição dos intens que será apresentada no selectOneMenu para o usuário, será necessario um atributo @Transient(deve estar dentro da entidade) do tipo inteiro(servicoSelecionado neste caso) para receber o ID(idServico) da lista que sera armazenado. É um pouco complicado, mais acredito que não ira fugir muito disso. :idea:

[quote=aprendizweb]Fala!!!

É o seguinte, tem sim como fazer isso, vc deve criar uma Lista e chamar a mesma dentro do selectOneMenu, porém vc deve ter um relacionamento da tabela de origem dos dados com a tabela onde serão armazenado os dados. O selectOneMenu fica parecido com o exemplo abaixo.

<p:selectOneMenu id=“servico” value="#{servicoBean.servico.servicoSelecionado}" required=“true”>
<f:selectItem itemLabel=“Selecione…” itemValue=""/>
<f:selectItems value="#{serviçoBean.listaServico}" var=“servico” itemValue="#{servico.idServico}" itemLabel="#{servico.descricaoServico}"/>
</p:selectOneMenu>

Mais note que, o que será armazenado na tabela será o ID e não a descrição dos intens que será apresentada no selectOneMenu para o usuário, será necessario um atributo @Transient(deve estar dentro da entidade) do tipo inteiro(servicoSelecionado neste caso) para receber o ID(idServico) da lista que sera armazenado. É um pouco complicado, mais acredito que não ira fugir muito disso. :idea: [/quote]

[i]Então, acho que você não entendeu muito bem o que eu preciso, ou talvez eu n tenha entendido o que você tentou propor kkkk.

Pra ilustrar o caso, olha esse selectmenu:[/i]

[i]Só que ao invéz de ter esse ‘Principais estados’ preciso colocar as datas que foram cadastrados certos itens, como descrevi no post principal, assim:

– 08/05/2012
----- OPÇÃO 1
----- OPÇÃO 2
– 09/05/2012
----- OPÇÃO 5
----- OPÇÃO 6

Estou no aguardo aqui !!

Obrigado galera.[/i]

Bom o que eu entendi é, que vc quer pegar as datas cadastradas no banco de dados e exibir dentro de um selectOneMenu para o usuario escolher, se for isso então é exatamento o que tentei explicar anteriormente.

[i]Então, isso eu consigo fazer.

O que eu preciso mesmo é ‘classficiar’ o selectmenu, por exemplo todos os registros da data 08/05/2012 devem ser mostrados abaixo desta data…
Ta meio dificil explicar isso mais olhe a imagem que eu coloquei e apenas troque aquela classficação por datas…

Não sei se é possivel fazer isso também…

Ninguem tem mais nenhuma sugestão? :/[/i]

E ai Blz!!!

    Então, dessa forma que vc quer fazer é bem dificil que seja possivel, pois terá que organizar dentro de um unico selectOneMenu os dados vindo do Banco, se fosse direto do xhtml era um abraço, como deve ser o caso do exemplo dos Estados que vc postou, mais alguém talvez possa ter feito algo similar, e te ajude!!! 

    Porém existem uma forma de fazer o mesmo procedimento com Ajax, no qual vc usa dois selectOneMenu dependentes, ou seja, quando vc seleciona uma data no primeiro combo, automaticamento o segundo atualiza com as opções referente aquela data específica. Tem um exemplo no site do PrimeFaces que demostra muito bem como funciona, é uma sugestão, de uma olhada. Valeu!!!

link PrimeFaces: http://www.primefaces.org/showcase-labs/ui/pprSelect.jsf

[quote=aprendizweb]E ai Blz!!!

    Então, dessa forma que vc quer fazer é bem dificil que seja possivel, pois terá que organizar dentro de um unico selectOneMenu os dados vindo do Banco, se fosse direto do xhtml era um abraço, como deve ser o caso do exemplo dos Estados que vc postou, mais alguém talvez possa ter feito algo similar, e te ajude!!! 

    Porém existem uma forma de fazer o mesmo procedimento com Ajax, no qual vc usa dois selectOneMenu dependentes, ou seja, quando vc seleciona uma data no primeiro combo, automaticamento o segundo atualiza com as opções referente aquela data específica. Tem um exemplo no site do PrimeFaces que demostra muito bem como funciona, é uma sugestão, de uma olhada. Valeu!!!

link PrimeFaces: http://www.primefaces.org/showcase-labs/ui/pprSelect.jsf
[/quote]

[i]É então aprendizweb, pensei em fazer desta forma também…
Vou ter que fazer assim mesmo, deve ser bem dificil fazer da forma que eu falei kkkk…

Enfim, obrigado pela ajuda !!![/i]

Boa Tarde.

Acho que é mesma necessidade que estou tendo. Pesquisei, e, achei no showcase, o que preciso. Pelo que entendi, é o mesmo que você precisa.

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

O item Grouping.

Abs.