Selecionar do banco em comboBox(Select)
quero que atraves de uma combo Box, sejam carregados valore do banco de dados:Quando selecionar unidade carregue valores existem e quando for selecionar curso carregar apenas curso que tem na unidade escolhida.
<p:outputLabel for="unidade" value="Unidade:"/>
<p:selectOneMenu id="unidade" value="#{alunoBean.aluno.unidade}" style="width:250px">
</p:selectOneMenu>
<p:outputLabel for="curso" value="Curso:"/>
<p:selectOneMenu id="curso" value="#{alunoBean.aluno.curso}" style="width:250px">
</p:selectOneMenu>
Alguém pode me ajudar?
<p:outputLabel for="unidade" value="Unidade:"/>
<p:selectOneMenu id="unidade" value="#{alunoBean.aluno.unidade}" style="width:250px">
</p:selectOneMenu>
<p:outputLabel for="curso" value="Curso:"/>
<p:selectOneMenu id="curso" value="#{alunoBean.aluno.curso}" style="width:250px">
</p:selectOneMenu>
Alguém pode me ajudar?
Nazca
Curtidas 0
Respostas
Ronaldo Lanhellas
21/05/2015
Vou lhe dar o caminho e você tenta implementar. Você primeiro precisa colocar o "<p:selectItens>" dentro do seu <p:selectOneMenu>", pois é ele quem vai mostrar os valores do banco.
Depois você cria um actionListener no seu ManagedBean, algo como: carregarCursoPorUnidade(), onde ele irá buscar todos os cursos pela unidade selecionada. Esse listener deve ser chamado no p:selectOneMenu da UNIDADE, e também deve haver um update="curso", assim quando algo mudar será feito um update no selectOneMenu do curso.
Depois você cria um actionListener no seu ManagedBean, algo como: carregarCursoPorUnidade(), onde ele irá buscar todos os cursos pela unidade selecionada. Esse listener deve ser chamado no p:selectOneMenu da UNIDADE, e também deve haver um update="curso", assim quando algo mudar será feito um update no selectOneMenu do curso.
GOSTEI 0
Ronaldo Lanhellas
21/05/2015
Vou lhe dar o caminho e você tenta implementar. Você primeiro precisa colocar o "<p:selectItens>" dentro do seu <p:selectOneMenu>", pois é ele quem vai mostrar os valores do banco.
Depois você cria um actionListener no seu ManagedBean, algo como: carregarCursoPorUnidade(), onde ele irá buscar todos os cursos pela unidade selecionada. Esse listener deve ser chamado no p:selectOneMenu da UNIDADE, e também deve haver um update="curso", assim quando algo mudar será feito um update no selectOneMenu do curso.
Depois você cria um actionListener no seu ManagedBean, algo como: carregarCursoPorUnidade(), onde ele irá buscar todos os cursos pela unidade selecionada. Esse listener deve ser chamado no p:selectOneMenu da UNIDADE, e também deve haver um update="curso", assim quando algo mudar será feito um update no selectOneMenu do curso.
GOSTEI 0
Nazca
21/05/2015
Mas é justamente isso que eu não sei como se faz eu não posso listar nos dois campos todos os itens que existem na Unidade e no Curso pq, dai ele vai escolher curso que não tem numa unidade, e oq eu não sei fazer é o Método para ver oq o usuário escolheu na unidade, para no campo curso aparecer somente os cursos que tem na unidade escolhida.
GOSTEI 0
Ronaldo Lanhellas
21/05/2015
Segue:
//no XHTML <p:outputLabel for="unidade" value="Unidade:"/> <p:selectOneMenu id="unidade" value="#{alunoBean.aluno.unidade}" style="width:250px" valueChangeListener="#{alunoBean.carregarCursos()}"> </p:selectOneMenu> <p:outputLabel for="curso" value="Curso:"/> <p:selectOneMenu id="curso" value="#{alunoBean.aluno.curso}" style="width:250px"> </p:selectOneMenu> //ManagedBean public void carregarCursos(){ //carregue aqui os cursos }
GOSTEI 0
Ronaldo Lanhellas
21/05/2015
Segue:
//no XHTML <p:outputLabel for="unidade" value="Unidade:"/> <p:selectOneMenu id="unidade" value="#{alunoBean.aluno.unidade}" style="width:250px" valueChangeListener="#{alunoBean.carregarCursos()}"> </p:selectOneMenu> <p:outputLabel for="curso" value="Curso:"/> <p:selectOneMenu id="curso" value="#{alunoBean.aluno.curso}" style="width:250px"> </p:selectOneMenu> //ManagedBean public void carregarCursos(){ //carregue aqui os cursos }
GOSTEI 0
Ronaldo Lanhellas
21/05/2015
Segue:
//no XHTML <p:outputLabel for="unidade" value="Unidade:"/> <p:selectOneMenu id="unidade" value="#{alunoBean.aluno.unidade}" style="width:250px" valueChangeListener="#{alunoBean.carregarCursos()}"> </p:selectOneMenu> <p:outputLabel for="curso" value="Curso:"/> <p:selectOneMenu id="curso" value="#{alunoBean.aluno.curso}" style="width:250px"> </p:selectOneMenu> //ManagedBean public void carregarCursos(){ //carregue aqui os cursos }
GOSTEI 0
Nazca
21/05/2015
Conversando com alguns professores, fiz conforme o código como eu poderia fazer o metodo carregarCursos?oque precisa ter nele?
Se vou pegar com id , vou precisar fazer uma conversão também, certo?
[img:descricao=Fiz desse modo]http://arquivo.devmedia.com.br/forum/imagem/432241-20150525-205905.png[/img]
Se vou pegar com id , vou precisar fazer uma conversão também, certo?
[img:descricao=Fiz desse modo]http://arquivo.devmedia.com.br/forum/imagem/432241-20150525-205905.png[/img]
GOSTEI 0