Ola pessoal, obrigado aos que puderam me ajudar. Eu consegui desenvolver alguma coisa mas não esta populando o combo do setor … alguem pode 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>
