O que preciso fazer é que quando eu seleciono alguma opção na combo tipoGrupo, o valor da padrao deve ser selecionado para sim e desabilitado. Todo esse processo faço conforme abaixo.
O problema é que os campos são desabilitados mas o valor da combo padrao não é atualizado. Dando uma pesquisada na net percebi que o atributo valueChangeListener possui algumas particularidades onde os metodos gets e set do meu DTO não são atualizados.
Existe uma forma de se fazer isso?
[code]<ice:selectOneMenu id=“tipoGrupo” styleClass=“combo_agrupamento” style=“width: 180px;” onchange=“submit();”
value="#{grupoBBean.grupoDTO.codigoTipoGrupo}" valueChangeListener="#{grupoBBean.selecionaTipoGrupo}"
required=“false” disabled=“false” converter=“javax.faces.Integer”>
<f:selectItems value="#{grupoBBean.comboTipoGrupo}" />
</ice:selectOneMenu>
<ice:selectOneMenu id=“padrao” styleClass=“combo_agrupamento” onchange=“submit();” style=“width: 180px;” disabled="#grupoBBean.disabledObrigatorio}" value="#{grupoBBean.grupoDTO.padrao}">
<f:selectItem id=“tipoPadraoItemVazio” itemLabel="#{msg[‘label.selecione.opcao’]}" itemValue=""/>
<f:selectItem id=“tipoPadraoItemAtivo” itemLabel="#{msg[‘label.sim’]}" itemValue=“1”/>
<f:selectItem id=“tipoPadraoItemInativo” itemLabel="#{msg[‘label.nao’]}" itemValue=“0”/>
</ice:selectOneMenu>
[/code]
public void selecionaTipoGrupo(ValueChangeEvent valueChangeEvent) {
Integer codigoTipoGrupo = (Integer)valueChangeEvent.getNewValue();
if(codigoTipoGrupo == 2) {
setDisabledEmiteParecer(true);
setDisabledObrigatorio(true);
} else {
if(codigoTipoGrupo == 3) {
setDisabledEmiteParecer(false);
setDisabledObrigatorio(false);
}
}