Habilitar e desabilitar campos com o a4j?

2 respostas
D

Opa :smiley:

Alguém usa o a4j para habilitar e desabilitar campos? Eu to com problema para habilitar, pq parece que o reRender não funciona. Alguém que tem o método funcional, pode me mostrar? Vou colar meu código abaixo caso alguém tenha alguma dúvida, pq eu consigo entrar no meu método do backing-bean, mas ele não muda o status de exibição do componente.

<a4j:region>
		<tr>
			<td class="fonteLabel">Gerenciadora Risco?</td>
			<td colspan="3"><h:selectOneRadio styleClass="fonteLabel" value="#{carga.cargaBean.gerenciadoraRiscoObrigatorio}" id="gerenciadoraRiscoObrigatorio" disabled="#{carga.desabilitarCampos}">
				<f:selectItem itemLabel="Sim" itemValue="true" />  
				 <f:selectItem itemLabel="Não" itemValue="false" /> 
				 <a4j:support action="#{carga.setarStatusExibicaoGerenciadoras}" event="onchange" reRender="gerenciadoraRisco"></a4j:support>
			</h:selectOneRadio>
			</td>
		</tr>
		<tr>
			<td class="fonteLabel">Gerenciadora:</td>
			<td colspan="3"><h:selectOneListbox styleClass="campoTexto" id="gerenciadoraRisco" value="#{carga.cargaBean.gerenciadoraRisco}" style=" width : 182px;" size="1" disabled="#{carga.desabilitarListaGerenciadora}" >
				<f:selectItems value="#{aplicacao.gerenciadora}" />
				</h:selectOneListbox>
			</td>
		</tr>	
</a4j:region>

Backing-Bean

private boolean desabilitarListaGerenciadora;
	
	public void setDesabilitarListaGerenciadora(boolean desabilitarListaGerenciadora) {
		this.desabilitarListaGerenciadora = desabilitarListaGerenciadora;
	}

	public boolean getDesabilitarListaGerenciadora(){
		/**/
		return desabilitarListaGerenciadora;
	}
	
	public void setarStatusExibicaoGerenciadoras(){
		if(getCargaBean().isGerenciadoraRiscoObrigatorio()){
			setDesabilitarListaGerenciadora(false);
		}
		setDesabilitarListaGerenciadora(true);
	}

Valeu.

[]'s

2 Respostas

Naruffy

Bom eu tambem tinha este problema, no meu caso eu resolvi colocando oque eu quero reRenderizar dentro de um painel, e reRenderizava o painel ao invés do compenente em si.

Obs.: o painel eu usava o rich:panel do richfaces, mas acho que qualquer outro painel funcione também

O

Naruffy:
Bom eu tambem tinha este problema, no meu caso eu resolvi colocando oque eu quero reRenderizar dentro de um painel, e reRenderizava o painel ao invés do compenente em si.

Obs.: o painel eu usava o rich:panel do richfaces, mas acho que qualquer outro painel funcione também

já tive mesmo problema e resolvi da mesma forma … :smiley: , poe o a4j:outputPanel que vai funfar …

Criado 2 de julho de 2008
Ultima resposta 2 de jul. de 2008
Respostas 2
Participantes 3