Problema com Combos aninhados

Java

10/08/2011

Boa Tarde moçada, estou tentando aninhar esses combos, mas nao estou conseguindo. Alguem pode me ajudar ????????? acredito que so o problema seja no HTML ..... ????? 
alguem se habilita a me ajudar ??????
BEAN
private SelectItem[] deps;
   public SelectItem[] getListPredios() throws ClassNotFoundException, SQLException {        List<Predio> lp = pDAO.getAllPredios();        List<SelectItem> itens = new ArrayList<SelectItem>(lp.size());        for (Predio p : lp) {            itens.add(new SelectItem(p.getId(), p.getNome()));        }        return itens.toArray(new SelectItem[itens.size()]);    }
    public SelectItem[] getDepByPredios(int ID) throws SQLException {        List<Setor> deps = sDAO.getSetorDoPredio(ID);        List<SelectItem> itens = new ArrayList<SelectItem>(deps.size());
        for (Setor s : deps) {            itens.add(new SelectItem(s.getId(), s.getNome()));        }// for end        return itens.toArray(new SelectItem[itens.size()]);    }
    public void actionCarregarEstados() throws SQLException {        this.deps = getDepByPredios(getManifest().getSetor().getId());        System.out.println(deps);    }
    public SelectItem[] getDeps() {        return deps;    }
    public void setDeps(SelectItem[] deps) {        this.deps = deps;    }


Codigo xhtml .... O que ta faltando aki no xhtml pra ele funcionar ?????
<h:form>            <p:panel header="Predio/Setor Combo" style="width:550px;">                <h:panelGrid columns="2">                    <h:outputLabel value="Comarca:"/>		                    <h:selectOneMenu value="#{manifestacaoBean.manifest.predio.id}" required="true" >                        <f:selectItem itemLabel="Selecione o Comarca" itemValue="Nenhum" />                        <f:selectItems value="#{manifestacaoBean.listPredios}" />                        <p:ajax update="depmets" listener="#{manifestacaoBean.actionCarregarEstados}" />                    </h:selectOneMenu>
                    <h:outputLabel value="Setor:">                        <h:selectOneMenu id="depmets" value="#{manifestacaoBean.manifest.setor.id}">                            <f:selectItem itemLabel="Selecione o setor" itemValue="Nenhum" />                            <f:selectItems value="#{manifestacaoBean.deps}"/>                        </h:selectOneMenu>                    </h:outputLabel>                </h:panelGrid>            </p:panel>        </h:form>

 
Jean Figueiredo

Jean Figueiredo

Curtidas 0

Respostas

Davi Costa

Davi Costa

10/08/2011

Confere se esse método não recebe algum parâmetro:

public void actionCarregarEstados() throws SQLException {        this.deps = getDepByPredios(getManifest().getSetor().getId());        System.out.println(deps);    }
Aqui mesmo na salaa esse dias tivemos uma thread parecida com essa dá uma procurada.

att Davi
GOSTEI 0
Davi Costa

Davi Costa

10/08/2011

GOSTEI 0
Jean Figueiredo

Jean Figueiredo

10/08/2011


 

Davi agradeço a ajuda, mas esse tutorial nao me ajuda. Até porque eu nao estou usando JPA. Eu já dei uma olhada ... tentei entender mas infelizmente nao consegui .... acredito que deva ser no HTML msmo .. na hora do render ....vc tem alguma ideia .... ????
GOSTEI 0
Davi Costa

Davi Costa

10/08/2011

Vc pode abstrair o JPA.
Vc vê as considerações da thread a respeito da página (que pode ser seu xhtml), eu acho que é seu método que ele não está entrando.
Qual versão do seu JSF?..., tá com cara de ser 2.0
Vc tem certeza que depois que vc escolhe um item na combo ele está entrando no método qe esperava? Debuga, ou caso prefira dá um System.out.println("Teste"); para garantir que está entrando lá mesmo.

Está usando alguma implementação como RichFaces ou PrimeFaces?

att Davi
GOSTEI 0
Jean Figueiredo

Jean Figueiredo

10/08/2011


Vc pode abstrair o JPA.
Vc vê as considerações da thread a respeito da página (que pode ser seu xhtml), eu acho que é seu método que ele não está entrando.
Qual versão do seu JSF?..., tá com cara de ser 2.0
Vc tem certeza que depois que vc escolhe um item na combo ele está entrando no método qe esperava? Debuga, ou caso prefira dá um System.out.println("Teste"); para garantir que está entrando lá mesmo.

Está usando alguma implementação como RichFaces ou PrimeFaces?

att Davi

 
 

Blz eu entendi, vou fazer os testes aki e posto novamente  !!!!! por hora vou deixar o chamado em aberto ... caso eu nao consiga uma solução eu volto a postar novamente  !!!

valeu irmão !!!!
GOSTEI 0
POSTAR