Fala galera, blz?
Sabem o que pode estar errado no meu a4j:commandButton?....estou utilizando para alteracoes juntamente com rich:modalPanel.
Segue parte do código...
Obrigado....
<f:view>
<h:form>
<rich:dataTable value="#{contatoManager.contatos}" var="contato"
id="tbl_listaContatos"
onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
>
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Contatos Cadastrados" />
<a4j:commandLink action="#{contatoManager.novoContato}" ajaxSingle="true" id="novoLink"
oncomplete="#{rich:component('modal_novoContato')}.show();">
<h:graphicImage value="image/ico/novo.png" style="border:0" />
</a4j:commandLink>
<rich:toolTip for="novoLink" value="Cadastrar Contato" />
</h:panelGroup>
</f:facet>
<rich:column sortBy="#{contato.nome}">
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{contato.nome}" />
</rich:column>
<rich:column sortBy="#{contato.dataNascimento}">
<f:facet name="header">
<h:outputText value="Data de Nascimento" />
</f:facet>
<h:outputText value="#{contato.dataNascimento}">
<f:convertDateTime pattern="dd/MM/yyyy" />
</h:outputText>
</rich:column>
<rich:column sortBy="#{contato.email}">
<f:facet name="header">
<h:outputText value="E-mail" />
</f:facet>
<h:outputText value="#{contato.email}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Editar" />
</f:facet>
<a4j:commandLink ajaxSingle="true" id="editarLink"
oncomplete="#{rich:component('modal_editarContato')}.show();">
<h:graphicImage value="image/ico/edit.png" style="border:0" />
<f:setPropertyActionListener target="#{contatoManager.contato}" value="#{contato}"/>
</a4j:commandLink>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Deletar" />
</f:facet>
<a4j:commandLink ajaxSingle="true" id="deleteLink"
oncomplete="#{rich:component('modal_confirmacao')}.show();">
<h:graphicImage value="image/ico/delete.png" style="border:0" />
<f:setPropertyActionListener target="#{contatoManager.contato}" value="#{contato}"/>
</a4j:commandLink>
</rich:column>
<f:facet name="footer">
<rich:datascroller for="tbl_listaContatos" maxPages="15" reRender="tbl_listaContatos"/>
</f:facet>
</rich:dataTable>
<rich:message/>
</h:form>
<rich:modalPanel id="modal_novoContato" autosized="true" width="450">
<f:facet name="header">
<h:outputText value="Novo Contato" />
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="image/ico/close.png" id="img_fechar" />
<rich:componentControl for="modal_novoContato" attachTo="img_fechar" operation="hide" event="onclick"/>
</h:panelGroup>
</f:facet>
<h:form>
<h:panelGrid columns="1">
<a4j:outputPanel ajaxRendered="true">
<h:panelGrid columns="2">
<h:outputText value="Nome" />
<h:inputText value="#{contatoManager.contato.nome}" />
<h:outputText value="Email" />
<h:inputText value="#{contatoManager.contato.email}" />
<h:outputText value="Data de Nascimento" />
<h:inputText value="#{contatoManager.contato.dataNascimento}" />
</h:panelGrid>
</a4j:outputPanel>
<h:panelGrid columns="2">
<a4j:commandButton value="Salvar" reRender="tbl_listaContatos, carregando" actionListener="#{contatoManager.adicionar}"
oncomplete="if (#{facesContext.maximumSeverity==null} #{rich:component('modal_novoContato')}.hide();"
/> <a4j:commandButton value="Cancelar" onclick="#{rich:component('modal_novoContato')}.hide(); return false;"/>
</h:panelGrid>
</h:panelGrid>
</h:form>
</rich:modalPanel>
<rich:modalPanel id="modal_editarContato" autosized="true" width="450">
<f:facet name="header">
<h:outputText value="Editar Contato" />
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="image/ico/close.png" id="img_close" />
<rich:componentControl for="modal_editarContato" attachTo="img_close" operation="hide" event="onclick"/>
</h:panelGroup>
</f:facet>
<h:form id="form_editarCadastro">
<h:panelGrid columns="1">
<a4j:outputPanel ajaxRendered="true">
<h:panelGrid columns="2">
<h:outputText value="Nome" />
<h:inputText value="#{contatoManager.contato.nome}" />
<h:outputText value="Email" />
<h:inputText value="#{contatoManager.contato.email}" />
<h:outputText value="Data de Nascimento" />
<h:inputText value="#{contatoManager.contato.dataNascimento}" />
</h:panelGrid>
</a4j:outputPanel>
<h:panelGrid columns="2">
<a4j:commandButton value="Salvar" reRender="tbl_listaContatos, carregando" action="#{contatoManager.adicionar}"
oncomplete="if (#{facesContext.maximumSeverity==null} #{rich:component('modal_editarContato')}.hide();"
/> <a4j:commandButton value="Cancelar" onclick="#{rich:component('modal_editarContato')}.hide(); return false;"/>
</h:panelGrid>
</h:panelGrid>
</h:form>
</rich:modalPanel>
<rich:modalPanel id="modal_confirmacao" autosized="true" width="250">
<f:facet name="header">
<h:outputText value="Deseja Excluir este contato?" />
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="image/ico/close.png" id="img_close2" />
<rich:componentControl for="modal_confirmacao" attachTo="img_close2" operation="hide" event="onclick"/>
</h:panelGroup>
</f:facet>
<h:form id="form_confirmacao">
<h:panelGrid columns="2">
<a4j:commandButton value="Excluir" reRender="tbl_listaContatos, carregando" action="#{contatoManager.excluir}"
oncomplete="if (#{facesContext.maximumSeverity==null} #{rich:component('modal_confirmacao')}.hide();"
/> <a4j:commandButton value="Cancelar" onclick="#{rich:component('modal_confirmacao')}.hide(); return false;"/>
</h:panelGrid>
</h:form>
</rich:modalPanel>
<a4j:status onstart="#{rich:component('modal_carregando')}.show()" onstop="#{rich:component('modal_carregando')}.hide()"/>
<rich:modalPanel id="modal_carregando" autosized="true" width="32" height="32" moveable="false" resizeable="false" >
<h:graphicImage value="image/ico/loading.gif" />
</rich:modalPanel>
</f:view>
Obrigado!