Fórum Problema <p:ajax>+<h:selectOneMenu> #423493
12/09/2012
0
fala galera, estou com um problema bobo mais chato, meu selectonemenu não dar update em uns componentes estáticos quando dou o change nele, mesmo executando o método, alguém ai pode me ajudar?
segue o código:
componente(componentizado):
implementação do componente:
parte que deveria ser renderizada que fica abaixo do combo:
método que sim, ele é chamado:
Grato se puderem me ajudar
segue o código:
componente(componentizado):
<h:selectOneMenu id="#{cc.attrs.id}" value="#{cc.attrs.value}" disabled="#{cc.attrs.disabled}"
style="width:#{cc.attrs.size};"
styleClass="selectItem #{cc.attrs.validadores== null ? '' : cc.attrs.validadores}" required="#{cc.attrs.required}" >
<c:if test="#{!cc.attrs.noSelectLabel}">
<f:selectItem itemLabel="#{msgSistema.lblSelecione}" itemValue="" />
</c:if>
<f:selectItems value="#{cc.attrs.selectItens}"
itemLabel="#{cc.attrs.itemLabel}" var="item"
itemValue="#{cc.attrs.itemValue}" />
<f:converter converterId="selectOneUsingObjectConverter" />
<p:ajax id="teste" global="true" process="#{cc.attrs.process}"
listener="#{cc.attrs.valueChangeListener}" event="change"
update="#{cc.attrs.update}" />
</h:selectOneMenu>
implementação do componente:
<comp:comboBox id="fornecedor" process="@this, :formI:div:diplay"
value="#{mBeanManter.in.exportador}"
changeListener="true"
valueChangeListener="#{mBeanManter.renderizaDadosFornecedor}"
selectItens="#{mBeanManter.fornecedores}"
label="#{msgInvoice.lblFornecedor}" itemLabel="#{item.nomeFantasia}"
itemValue="#" entity="true"
update=":formI:div:diplay, :formI:div:rend" />
parte que deveria ser renderizada que fica abaixo do combo:
<p:outputPanel id="diplay">
<h:panelGrid columnClasses="2" rendered="#{mBeanManter.renderizar}" id="rend">
<h:outputText value="#{msgInvoice.lblNomeExportador}: "
styleClass="labelFiltro_bold" />
<h:outputText id="nomeExport" value="nomeExportador"
styleClass="labelFiltro" />
<h:outputText value="#{msgInvoice.lblEndereco}: "
styleClass="labelFiltro_bold" />
<h:outputText id="endExport"
value="#{mBeanManter.bairro}"
styleClass="labelFiltro" />
<h:outputText value="#{msgInvoice.lblCodePostal}: "
styleClass="labelFiltro_bold" />
<h:outputText id="codPostExport"
value="#{mBeanManter.endereco.bairro}"
styleClass="labelFiltro" />
</h:panelGrid>
</p:outputPanel>
método que sim, ele é chamado:
private String bairro;
private boolean renderizar;
public void renderizaDadosFornecedor() {
renderizar = false;
if (in.getExportador() != null
&& in.getExportador().getId() != null) {
renderizar = true;
try {
PessoaJuridica fornecedor = cadastroFacade.getPessoaById(in.getExportador().getId());
in.setExportador(fornecedor);
endereco = new Endereco();
endereco = fornecedor.getEnderecos().get(0);
bairro = endereco.getBairro();
} catch (BusinessException e) {
in.setExportador(null);
e.printStackTrace();
}
}else{
invoice.setExportador(null);
}
}
Grato se puderem me ajudar
Wisley Souza
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)