Boa tarde, tenho selectoneMenu que está funcionado certinho na hora de gravar, porem na hora que clico em editar no grid a tela é carregada certinho, porém o selectone não altera seu valor.
o problema é que não estou sabendo pegar esse valor no MB pois o mesmo é uma propriedade que está em outro campo tipo.
tenho a var que armazena a opcao selecionada.
private int selectedSecao;
Na hora de gravar faco assim está gravando certinho.:
Secao secao;
secao=(Secao) dao.getGenericDao().getObjById(Secao.class, selectedSecao);
grupo.setSecao(secao);
dao.insert(grupo)
para pegar o valor selecionado na edicao tentei assim:
@PostConstruct
public void initIt() {
dao.getGenericDao().conect();
selectedSecao=this.getGrupo().getSecao().getId();
}
Mas está dando o seguinte erro:
eu acho que a variavel grupo não está preenchida quando entra no método initIt();
Alguém poderia me ajudar?
XHTML
<p:selectOneMenu value="#{grupoBean.selectedSecao}" style="width:160px">
<f:selectItems value="#{grupoBean.carregarSelect}"/>
</p:selectOneMenu>
public Collection<SelectItem> getCarregarSelect() {
if (listSecao==null || listSecao.size()==0){
listSecao= (List<Secao>) dao.getList("from Secao order by descricao");
}
Collection<SelectItem> lst = new ArrayList<SelectItem>();
lst.add(new SelectItem("", "Selecione"));
for (int i = 0; i < listSecao.size(); i++) {
lst.add(new SelectItem(listSecao.get(i).getId(), listSecao.get(i).getDescricao()));
}
return lst;
}