Selecionar do banco em comboBox(Select)

MySQL

Java

Modelagem

21/05/2015

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?
Nazca

Nazca

Curtidas 0

Respostas

Ronaldo Lanhellas

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.
GOSTEI 0
Ronaldo Lanhellas

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.
GOSTEI 0
Nazca

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

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

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

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

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]
GOSTEI 0
POSTAR