Ola…
Gostaria de saber se tem como,e como fazer, para eu dar um “reRender” em algum campo de dentro do meu m.bean.
obrigado
Ola…
Gostaria de saber se tem como,e como fazer, para eu dar um “reRender” em algum campo de dentro do meu m.bean.
obrigado
Pelo que entendi você quer dar reRender em um componente tipo comboBox etc… correto ? se você quiser fazer isso você poder utilizar o a4jsf, ou se for apenas para atualizar o valor do bean você pode utilizar o rerender apontando para o objeto.
Se eu tiver entendido errado coloque seu codigo para poder ajudar … fica mais facil a visualização do seu problema. obrigado
vou explicar a situação…
eu preciso fazer algumas validações qdo o cara digita o codigo do cliente… se o cliente for invalido,ou tiver pendencias financeiras, eu limpo o campo …certo??
até ai blz…
mas o problema que estou tento, é que estou usando o autocomplete…(rich:suggestionbox) e no meu a4j:support event=“onblur” eu tenho
que renderizar o idCliente…(por causa de qdo eu for limpar o campo)… ai qdo aparece as opções no autoComplete e eu clico em cima de alguma,
ele não esta preenchendo o campo idCliente com o id escolhido no autocomplete… entede??mas se eu escolher a opção pelas setas do teclado,funciona…
então eu queria saber como faz para renderizar o campo idCliente la no meu bean… pq se eu tirar o idCliente para renderizar vai tudo certo…
<h:inputText value="#{requestScope.pedidoPocket.cliente.id}"
id="idCliente" required="true"
binding="#{pedidoController.inputCliente}"
requiredMessage="O campo Cliente deve ser preenchido."
converterMessage="Cliente é um campo numérico." >
<f:convertNumber integerOnly="true" pattern="######" />
<a4j:support event="onblur" action="#{pedidoController.consultarRazaoSocialCliente}"
reRender="razaoSocial,a4jItens,itemCodProduto,idCliente,suggestionboxCliente,a4jMessages" immediate="true">
</a4j:support>
</h:inputText>
<rich:suggestionbox
id="suggestionboxCliente"
for="idCliente"
suggestionAction="#{clienteController.complementoCliente}"
var="campo" immediate="true" fetchValue="#{campo.id}"
minChars="3" >
<h:column>
<h:outputText value="#{campo.id}" />
</h:column>
<h:column>
<h:outputText value="#{campo.razaoSocial}" />
</h:column>
</rich:suggestionbox>
mb
/**
* Método responsável por controlar a consulta da razão social de um cliente
* e verificar se existe duplicatas em aberto e cheques devolvidos
*/
public void consultarRazaoSocialCliente()
{
HttpServletRequest request = getRequest();
String codCliente = request.getParameter("Form:idCliente");
try
{
if (codCliente != null && codCliente.trim().length() > 0 && codCliente.trim().length()<=10)
{
Integer id = Integer.parseInt(codCliente.trim());
PedidoPocket pp = (PedidoPocket) request.getAttribute(Constantes.IPD_PEDIDO_POCKET.getDescricao());//new PedidoPocket();
Cliente c = clienteDao.findById(id);
if(c!=null)
{
boolean setar=true;
if(clienteDao.findDuplicatasAbertoByCodCliente(c.getId())!=null)
{
FacesUtils.mensInfo(Constantes.IPD_MSG_DUPLICATA_ABERTO.getDescricao());
setar=false;
}
if(clienteDao.findChequesDevolvidosByCodCliente(c.getId())!=null)
{
FacesUtils.mensInfo(Constantes.IPD_MSG_CHEQUE_DEVOLVIDO.getDescricao());
setar=false;
}
if(setar)
pp.setCliente(c);
else
{
inputCliente.resetValue();
pp.setCliente(null);
}
}
else
{
FacesUtils.mensInfo(Constantes.IPD_MSG_CLIENTE_NAO_CADASTRADO.getDescricao());
inputCliente.resetValue();
}
}
else
{
FacesUtils.mensInfo(Constantes.IPD_MSG_CLIENTE_NAO_CADASTRADO.getDescricao());
inputCliente.resetValue();
}
}
catch (Exception e)
{
//inputCliente.resetValue();
super.tratarExcecao(e, "consultarRazaoSocialCliente");
}
removerTodosProdutos();
}
entedeu alguma coisa?? hehe