Boa Tarde Galera.
Posso utilizar o mesmo form(pagina) de cadastro para a consulta?
Para cadastrar esta tudo funcionando belezinha, mas quando clico em pesquisar (load.(id)) o formulario e´preenchido , menos o combo que listas as cidades (q e´dependente do combo UFs):
<h:outputLabel for="uf" value="Estado"/>
<h:selectOneMenu immediate="true" styleClass="caixa" id="uf" binding="#{Cer.estadoselecionado}">
<a4j:support event="onchange" action="#{Cer.getPopulaCidadesCond}" ajaxSingle="true"
reRender="cidade" />
<f:selectItem itemValue="" itemLabel="Selecione"/>
<f:selectItems value="#{Cer.populaEstados}" />
</h:selectOneMenu>
/** Combo para Cidades */
<h:outputLabel for="cidade" value="Cidade"/>
<h:selectOneMenu styleClass="caixa" id="cidade" value="#{Cer.cert.tblCidades}">
<f:selectItems value="#{Cer.listacidades}"/>
<t:saveState value="#{Cer.listacidades}"></t:saveState>
</h:selectOneMenu>
/** Botao para pesquisa */
<h:commandButton id="btnbusca" value="Buscar" actionListener="#{Cer.buscaCertificado}" />
Partes relevantes do MBean: [color=darkblue](ae galera e´bean de novato :oops: judia muito nao em)[/color]
/** preenche combo com nomes de estados */
public List<SelectItem> getPopulaEstados() {
List<SelectItem> listaestados = new ArrayList<SelectItem>();
Session session = HibernateUtil.currentSession();
Dao<TblEstados> edao = new Dao<TblEstados>(session, TblEstados.class);
List<TblEstados> cbxe = (List<TblEstados>) edao.listaTudo();
for (TblEstados bar : cbxe) {
SelectItem itens = new SelectItem(bar.getSigla(), bar.getEstado());
listaestados.add(itens);
}
return listaestados;
}
/** preenche combo com nomes de cidades com
* criterio uf vindo do combo estados */
private List<SelectItem> listacidades = new ArrayList<SelectItem>() ;
@SuppressWarnings("unchecked")
public List<SelectItem> getPopulaCidadesCond() {
List<SelectItem> listacidadescondicional = new ArrayList<SelectItem>();
Criteria ci = HibernateUtil.currentSession().createCriteria(TblCidades.class);
ci.add(Restrictions.ilike( "uf", estadoselecionado.getValue().toString() ));
List<TblCidades> cbxcc = ci.list();
for (TblCidades bar : cbxcc) {
SelectItem itens = new SelectItem(String.valueOf(bar.getPkCidades()),bar.getCidade());
listacidadescondicional.add(itens);
listacidades = listacidadescondicional;
}
return listacidadescondicional;
}
/** ligaçao entre combo estados e método para preencer combo cidades */
public HtmlSelectOneMenu estadoselecionado;
public HtmlSelectOneMenu getEstadoselecionado() {
return estadoselecionado;
}
/** pesquisa por um registro salvo na tabela certificados */
public void buscaCertificado(ActionEvent event) {
Session session = HibernateUtil.currentSession();
Dao<TblCertificados> certificadao = new Dao<TblCertificados>(session, TblCertificados.class);
this.certificados = certificadao.loadSring(certificados.getPkCertificado());
}
[]´s



Talvez assim seja mais facil de entender o que acontece !