Fórum jsf nao atualiza a propriedade no bean #415031
05/04/2012
0
select one menu
<p:selectOneMenu id=tipoAcidente value=#{planilhaBean.acidenteSelecionado.tipoAcidente} style=width:180px onchange=calculaDias(gE(edicao:dataAcidente).value,gE(edicao:dataRetorno).value,edicao:diasPerdidos);>
<f:selectItem itemLabel=Selecione o Tipo itemValue=/>
<f:selectItem itemLabel=FAC itemValue=FAC/>
<f:selectItem itemLabel=LWC itemValue=LWC/>
<f:selectItem itemLabel=RWC itemValue=RWC/>
<f:selectItem itemLabel=TRAJETO itemValue=TRAJETO/>
<p:ajax update=diasPerdidos diasTrabalhoRestrito listener=#{planilhaBean.tipoAcidente} />
-----
Método no ManegedBEan
public void tipoAcidente() {
System.out.println(Data do acidente = + this.dataAcidente);
System.out.println(Data do retorno = + this.dataRetorno);
if (this.acidenteSelecionado.getTipoAcidente().equals(FAC) ||
this.acidenteSelecionado.getTipoAcidente().equals(TRAJETO)){
this.acidenteSelecionado.setDiasPerdidos(NA);
this.acidenteSelecionado.setDiasTrabalhoRestrito(NA);
}else
if (this.acidenteSelecionado.getTipoAcidente().equals(LWC)){
this.acidenteSelecionado.setDiasTrabalhoRestrito(NA);
}else{
this.acidenteSelecionado.setDiasPerdidos(N);
}
}
Eu mandei exibir as datas e eles estão nulas. O meu bean está como viewscoped, como tem que estar.
Jose Boas
Curtir tópico
+ 0Posts
05/04/2012
Willes Reis
Altere para testar, mas se não funcionar mostre a função calculaDias do atributo onchange para analisar melhor.
Gostei + 0
05/04/2012
Jose Boas
Vou mostrar novamente o xhtml sem o javascript.
<p:selectOneMenu id=tipoAcidente value=#{planilhaBean.acidenteSelecionado.tipoAcidente} style=width:180px>
<f:selectItem itemLabel=Selecione o Tipo itemValue=/>
<f:selectItem itemLabel=FAC itemValue=FAC/>
<f:selectItem itemLabel=LWC itemValue=LWC/>
<f:selectItem itemLabel=RWC itemValue=RWC/>
<f:selectItem itemLabel=TRAJETO itemValue=TRAJETO/>
<p:ajax update=diasTrabalhoRestrito diasPerdidos event=change listener=#{planilhaBean.tipoAcidente} />
</p:selectOneMenu>
// metodo no bean
public void tipoAcidente() {
System.out.println(Data do acidente = + this.acidenteSelecionado.getDataAcidente());
System.out.println(Data do retorno = + this.acidenteSelecionado.getDataRetorno());
if (this.acidenteSelecionado.getTipoAcidente().equals(FAC) ||
this.acidenteSelecionado.getTipoAcidente().equals(TRAJETO)){
this.acidenteSelecionado.setDiasPerdidos(NA);
this.acidenteSelecionado.setDiasTrabalhoRestrito(NA);
}else
if (this.acidenteSelecionado.getTipoAcidente().equals(LWC)){
this.acidenteSelecionado.setDiasTrabalhoRestrito(NA);
}else{
this.acidenteSelecionado.setDiasPerdidos(NA);
}
}
Gostei + 0
05/04/2012
Jose Boas
Veja como ficou
<p:selectOneMenu id=tipoAcidente value=#{planilhaBean.acidenteSelecionado.tipoAcidente} style=width:180px>
<f:selectItem itemLabel=Selecione o Tipo itemValue=/>
<f:selectItem itemLabel=FAC itemValue=FAC/>
<f:selectItem itemLabel=LWC itemValue=LWC/>
<f:selectItem itemLabel=RWC itemValue=RWC/>
<f:selectItem itemLabel=TRAJETO itemValue=TRAJETO/>
<p:ajax update=:diasTrabalhoRestrito :diasPerdidos event=change process=@form listener=#{planilhaBean.tipoAcidente} />
</p:selectOneMenu>
o que eu acicionei foi process=@form
Gostei + 0
05/04/2012
Willes Reis
Até mais.
Gostei + 0
07/04/2012
Davi Costa
http://www.mkyong.com/jsf2/jsf-2-valuechangelistener-example/
http://www.guj.com.br/java/250300-resolvidocomo-pegar-objeto-do-componente-selectonemenu-do-primefaces-3
att Davi
Gostei + 0
08/04/2012
Jose Boas
Gostei + 0
09/04/2012
Jose Boas
public List<SelectItem> getPoloEmpresaSelect() {
if (this.codigoPolo > 0){
if(this.acidenteSelecionado.getPolo().getCodigoPolo() != null){
this.poloEmpresaSelect = new ArrayList<SelectItem>();
List<Empresa> empresa = (List<Empresa>) this.acidenteSelecionado.getPolo().getEmpresaList();
SelectItem item = null;
for (Empresa emp : empresa ){
item = new SelectItem(emp,emp.getNomeFantasia());
item.setEscape(false);
this.poloEmpresaSelect.add(item);
}
// aqui eu tento posicionar o segundo combo de acordo com que foi inserido na tabela, mas ão deu.
if(this.codigoEmpresa != 0){
for(SelectItem itens : this.poloEmpresaSelect){
System.out.println(valor da empresa = + itens.getValue().toString());
if (itens.getValue().equals(this.acidenteSelecionado.getEmpresa().getCodigoEmpresa().toString())){
break;
}
}
}
}
}
this.codigoPolo++;
return this.poloEmpresaSelect;
}
Gostei + 0
10/04/2012
Davi Costa
att Davi
Gostei + 0
14/04/2012
Dyego Carmo
Valeu !
Gostei + 0
14/04/2012
Jose Boas
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)