Problemas com Ajax Request não setando row do DataTable Primefaces. -!

Prezados, tenho um p:datatable, e quando seleciono uma linha, e clico no botão alterar ele deveria settar a linha selecionada no ManagedBean, isso está funcionando para o meus outros UseCases, mas para esse não está, ja fiz debug, log…de tudo e quanto e não achei o problema, segue os meus códigos:

página XHMTL de manutenção de usuário

<ui:composition template="/templates/Template.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

	<!-- Inicio da Pagina -->
	<ui:define name="Conteudo">
		<!-- Loading Ajax. -->
		<ui:include src="/composition/Ajax.xhtml" />
		<p:separator />
		<h:form id="frm" binding="#{usuarioMBean.frm}">
			<!-- Barra MenuCad -->
			<p:panel id="pnlNav" style="border: none;">
				<!-- Barra de Navegacao -->
				<div align="center">
					<p:commandButton id="cmdNovo" value="Novo" icon="ui-icon-newwin"
						ajax="true" actionListener="#{usuarioMBean.novo}"
						oncomplete="
						dlg.show()" immediate="true" process="@this"
						update=":dialog,:frmDlgCmd:tbvCad:frmDlgCad,:frmDlgCmd:tbvCad:frmDlgCondAdm" />
					<p:commandButton id="cmdAlterar" value="Alterar"
						icon="ui-icon-pencil" ajax="true" immediate="true"
						actionListener="#{usuarioMBean.prepararRegistro}"
						oncomplete="handlePrepararAlterarUsuarioRequest(xhr, status, args)"
						update=":dialog,:frmDlgCmd:tbvCad:frmDlgCad,:frmDlgCmd:tbvCad:frmDlgCondAdm" />
					<p:commandButton id="cmdExcluir" value="Excluir"
						icon="ui-icon-trash" ajax="true"
						actionListener="#{usuarioMBean.prepararRegistro}"
						oncomplete="handlePrepararExcluirUsuarioRequest(xhr, status, args)"
						update=":frm:confirm" />
					<p:commandButton value="Fechar" action="Principal" ajax="false"
						icon="ui-icon-close" immediate="true" />
				</div>
			</p:panel>
			<p:separator />
			<div align="center">
				<!-- Inicio da Tabela de Pesquisa -->
				<h:panelGrid id="pnlGrdPesquisa" columns="1">
					<p:dataTable id="dtUsuario" var="usua" widgetVar="dataTable"
						value="#{usuarioMBean.usuarios}"
						emptyMessage="Nenhum registro encontrado!" paginator="true"
						filterEvent="enter" rows="3" rowKey="#{usua.id}"
						style="width: 100%;"
						selection="#{usuarioMBean.usuarioSelecionado}"
						binding="#{usuarioMBean.dt}">
     					<f:facet name="header">
				  				Usuários Cadastrados
						</f:facet>
						<!-- RadioBox de Selecao -->
						<p:column selectionMode="single" style="width:30px" />
						<p:column headerText="Id" sortBy="#{usua.id}"
							filterBy="#{usua.id}" id="colId" style="width: 10px;">
							         #{usua.id}
							</p:column>
						<p:column headerText="CPF" filterBy="#{usua.cpf}"
							sortBy="#{usua.cpf}" id="colCPF" style="width: 300px;">
									#{usua.cpf}
						</p:column>
						<p:column headerText="Nome" filterBy="#{usua.nome}"
							sortBy="#{usua.nome}" id="colNome" style="width: 500px;">
									#{usua.nome}
						</p:column>
						<p:column headerText="Tipo de Usuário"
							filterBy="#{usua.tipousuario.descricao}"
							sortBy="#{usua.tipousuario.descricao}" id="colTipoUsuario"
							style="width: 300px;">
									#{usua.tipousuario.descricao}
						</p:column>
						<p:column headerText="Comdomínio"
							filterBy="#{usua.condominio.nome}"
							sortBy="#{usua.condominio.nome}" id="colCondominio"
							style="width: 300px;">
									#{usua.condominio.nome}
						</p:column>
					</p:dataTable>
				</h:panelGrid>
			</div>
			<!-- Confirmacao de Exclusao -->
			<p:confirmDialog id="confirm"
				message="Confirma a exclusão do usuário: #{usuarioMBean.usuario.nome}?"
				header="Atenção" severity="alert" widgetVar="confDlg"
				appendToBody="true">
				<p:commandButton id="btnSim" value="Sim"
					oncomplete="confDlg.hide();dataTable.clearFilters();dataTable.getPaginator().setPage(0)"
					onclick="dataTable.clearFilters();dataTable.getPaginator().setPage(0)"
					update=":frm:pnlGrdPesquisa" process="@form" ajax="true"
					actionListener="#{usuarioMBean.excluir}" />
				<p:commandButton id="BtnNao" value="Não" onclick="confDlg.hide()"
					actionListener="#{usuarioMBean.cancelar}" ajax="true"
					immediate="true" />
			</p:confirmDialog>
		</h:form>
		<!-- Dialog -->
		<p:dialog id="dialog" header="#{usuarioMBean.tituloTela}"
			widgetVar="dlg" modal="true" appendToBody="true" showEffect="fade"
			hideEffect="explode" resizable="false" width="1000" position="top">
			<p:messages autoUpdate="true" />
			<h:form id="frmDlgCmd" binding="#{usuarioMBean.frmDlgCmd}">
				<p:panel>
					<p:tabView orientation="top" id="tbvCad">
						<p:tab title="Dados Cadastrais" id="tbInfoCad">
							<h:form id="frmDlgCad" binding="#{usuarioMBean.frmDlgCad}">
								<div align="center">
									<div align="left">
										<h:inputHidden id="txtId" value="UsuarioMBean.usuario.id" />
										<h:panelGrid id="pnlGrdCad" columns="2" style="width: 100%;">
											<h:panelGroup>
												<h:outputLabel id="lblTipoUsuario" for="cboTipoUsuario"
													value="Tipo de Usuário: " />
												<br />
												&lt;p:selectOneMenu
													value="#{usuarioMBean.tipoUsuarioSelecionado}"
													id="cboTipoUsuario" required="true" label="lblTipoUsuario"
													effect="fade" effectDuration="10"
													converter="tipoUsuarioConversor"
													validator="tipoUsuarioValidador"
													requiredMessage="Campo tipo usuário é obrigatório."&gt;
													&lt;f:selectItem itemLabel="Selecione..." itemValue="" /&gt;
													&lt;f:selectItems value="#{tipoUsuarioMBean.tipoUsuarios}"
														var="tu" itemLabel="#{tu.descricao}" itemValue="#{tu}" /&gt;
												&lt;/p:selectOneMenu&gt;
											&lt;/h:panelGroup&gt;
											&lt;h:panelGroup&gt;
												&lt;h:outputLabel id="lblCondominio" for="txtCondominio"
													value="Condomínio: " /&gt;
												<br />
												&lt;p:autoComplete
													value="#{usuarioMBean.condominioSelecionado}"
													id="txtCondominio"
													completeMethod="#{usuarioMBean.sugerirCondominios}" var="c"
													itemLabel="#{c.nome}" itemValue="#{c}"
													forceSelection="true" converter="condominioConversor"
													maxlength="3" maxResults="10" required="true"
													requiredMessage="Campo condomínio é obrigatório."&gt;
												&lt;/p:autoComplete&gt;
											&lt;/h:panelGroup&gt;
											&lt;h:panelGroup&gt;
												&lt;h:outputLabel id="lblNome" for="txtNome" value="Nome: " /&gt;
												<br />
												&lt;p:inputText value="#{usuarioMBean.usuario.nome}"
													id="txtNome" required="true" label="lblNome"
													requiredMessage="Campo nome é obrigatório." size="30"
													maxlength="100" style="width:90%;" /&gt;
											&lt;/h:panelGroup&gt;
											&lt;h:panelGroup&gt;
												&lt;h:outputLabel id="lblBloco" for="cboBloco" value="Bloco: " /&gt;
												<br />
												&lt;p:selectOneMenu value="#{usuarioMBean.usuario.bloco}"
													id="cboBloco" required="true" label="lblBloco"
													effect="fade" effectDuration="10"
													validator="blocoValidador"
													requiredMessage="Campo bloco é obrigatório."
													style="width: 200px;"&gt;
													&lt;f:selectItem itemLabel="Selecione..." itemValue="" /&gt;
													&lt;f:selectItem itemLabel="A" itemValue="A" /&gt;
													&lt;f:selectItem itemLabel="B" itemValue="B" /&gt;
													&lt;f:selectItem itemLabel="C" itemValue="C" /&gt;
													&lt;f:selectItem itemLabel="D" itemValue="D" /&gt;
													&lt;f:selectItem itemLabel="E" itemValue="E" /&gt;
													&lt;f:selectItem itemLabel="F" itemValue="F" /&gt;
													&lt;f:selectItem itemLabel="G" itemValue="G" /&gt;
													&lt;f:selectItem itemLabel="H" itemValue="H" /&gt;
													&lt;f:selectItem itemLabel="I" itemValue="I" /&gt;
													&lt;f:selectItem itemLabel="J" itemValue="J" /&gt;
													&lt;f:selectItem itemLabel="L" itemValue="L" /&gt;
													&lt;f:selectItem itemLabel="M" itemValue="M" /&gt;
													&lt;f:selectItem itemLabel="N" itemValue="N" /&gt;
													&lt;f:selectItem itemLabel="O" itemValue="O" /&gt;
													&lt;f:selectItem itemLabel="P" itemValue="P" /&gt;
													&lt;f:selectItem itemLabel="Q" itemValue="Q" /&gt;
													&lt;f:selectItem itemLabel="R" itemValue="R" /&gt;
													&lt;f:selectItem itemLabel="S" itemValue="S" /&gt;
													&lt;f:selectItem itemLabel="T" itemValue="T" /&gt;
													&lt;f:selectItem itemLabel="U" itemValue="U" /&gt;
													&lt;f:selectItem itemLabel="V" itemValue="V" /&gt;
													&lt;f:selectItem itemLabel="X" itemValue="X" /&gt;
													&lt;f:selectItem itemLabel="Z" itemValue="Z" /&gt;
												&lt;/p:selectOneMenu&gt;
											&lt;/h:panelGroup&gt;
											&lt;h:panelGroup&gt;
												&lt;h:outputLabel id="lblApartamento" for="txtApartamento"
													value="Apartamento: " /&gt;
												<br />
												&lt;p:spinner id="txtApartamento"
													value="#{usuarioMBean.usuario.apartamento}" maxlength="3"
													required="true" min="1"
													requiredMessage="Campo apartamento é obrigatório."&gt;
												&lt;/p:spinner&gt;
											&lt;/h:panelGroup&gt;
											&lt;h:panelGroup&gt;
												&lt;h:outputLabel id="lblCPF" for="txtCPF" value="CPF: " /&gt;
												<br />
												&lt;p:inputMask value="#{usuarioMBean.usuario.cpf}" id="txtCPF"
													required="true" label="lblCPF"
													requiredMessage="Campo CPF é obrigatório."
													mask="999.999.999-99"&gt;

												&lt;/p:inputMask&gt;
											&lt;/h:panelGroup&gt;
											&lt;h:panelGroup&gt;
												&lt;h:outputLabel id="lblStatus" for="cboStatus"
													value="Status:" /&gt;
												<br />
												&lt;p:selectOneMenu value="#{usuarioMBean.usuario.status}"
													id="cboStatus" required="true" label="lblStatus"
													effect="fade" effectDuration="10"
													validator="statusValidador"
													requiredMessage="Campo status é obrigatório."&gt;
													&lt;f:selectItem itemLabel="Selecione..." itemValue="" /&gt;
													&lt;f:selectItem itemLabel="Inativo" itemValue="Inativo" /&gt;
													&lt;f:selectItem itemLabel="Ativo" itemValue="Ativo" /&gt;
												&lt;/p:selectOneMenu&gt;
											&lt;/h:panelGroup&gt;
										&lt;/h:panelGrid&gt;
									&lt;/div&gt;
								&lt;/div&gt;
							&lt;/h:form&gt;
						&lt;/p:tab&gt;
						&lt;p:tab id="tbCondAdm" title="Condomínios Administrados"&gt;
							&lt;h:form id="frmDlgCondAdm"
								binding="#{usuarioMBean.frmDlgCondAdm}"&gt;
								&lt;div align="center"&gt;
									&lt;div align="left"&gt;
										&lt;p:fieldset&gt;
											&lt;h:panelGrid id="pnlGrdCadAdm" columns="2"&gt;
												&lt;h:panelGroup&gt;
													&lt;p:focus for="txtCondominioAdm" /&gt;
													&lt;h:outputLabel id="lblCondominioAdm" for="txtCondominioAdm"
														value="Condomínio: " /&gt;
													<br />
													&lt;p:autoComplete
														value="#{usuarioMBean.condominioSelecionadoAdm}"
														id="txtCondominioAdm"
														completeMethod="#{usuarioMBean.sugerirCondominios}"
														var="ca" itemLabel="#{ca.nome}" itemValue="#{ca}"
														forceSelection="true" converter="condominioAdmConversor"
														maxlength="3" maxResults="10" required="true"
														requiredMessage="Campo condomínio administrado é obrigatório."
														size="50"&gt;
													&lt;/p:autoComplete&gt;
													&lt;p:commandButton id="cmdAdicionarCondominio"
														value="Adicionar" update="pnlGrdCadAdmList,pnlGrdCadAdm"
														icon="ui-icon-plus" ajax="true"
														actionListener="#{usuarioMBean.adicionarCondominioLista}"
														process="@this,txtCondominioAdm"&gt;
													&lt;/p:commandButton&gt;
													&lt;p:commandButton id="cmdRemoverCondominio" value="Remover"
														icon="ui-icon-minus"
														update="pnlGrdCadAdmList,@this,pnlGrdCadAdm" ajax="true"
														actionListener="#{usuarioMBean.removerCondominioLista}"
														process="@this,pnlGrdCadAdmList"
														rendered="#{not empty usuarioMBean.condominiosAdministrados}" /&gt;
												&lt;/h:panelGroup&gt;
											&lt;/h:panelGrid&gt;
										&lt;/p:fieldset&gt;
									&lt;/div&gt;
									&lt;div align="center"&gt;
										&lt;h:panelGrid id="pnlGrdCadAdmList" style="width: 100%;"&gt;
											&lt;p:dataTable id="dtCondominio" var="cond"
												widgetVar="dataTable"
												value="#{usuarioMBean.condominiosAdministrados}"
												emptyMessage="Nenhum registro encontrado!" paginator="true"
												filterEvent="enter" rows="3" rowKey="#{cond.id}"
												style="width: 100%;"
												selection="#{usuarioMBean.condominioSelecionadoAdm}"&gt;
												&lt;f:facet name="header"&gt;
				  				Condomínios Administrados
						&lt;/f:facet&gt;
												&lt;!-- RadioBox de Selecao --&gt;
												&lt;p:column selectionMode="single" style="width:40px" /&gt;
												&lt;p:column headerText="Id" sortBy="#{cond.id}"
													filterBy="#{cond.id}" id="colId" style="width: 10px;"&gt;
							         #{cond.id}
							&lt;/p:column&gt;
												&lt;p:column headerText="Nome" sortBy="#{cond.nome}"
													filterBy="#{cond.nome}" id="colNome" style="width: 300px;"&gt;
							         #{cond.nome}
							&lt;/p:column&gt;
											&lt;/p:dataTable&gt;
										&lt;/h:panelGrid&gt;
									&lt;/div&gt;
								&lt;/div&gt;
							&lt;/h:form&gt;
						&lt;/p:tab&gt;
					&lt;/p:tabView&gt;

					&lt;f:facet name="footer"&gt;
						&lt;div align="center"&gt;
							&lt;p:commandButton id="cmdSalvar" value="Salvar"
								update=":frm:pnlGrdPesquisa,:frmDlgCmd" icon="ui-icon-check"
								process=":frmDlgCmd" actionListener="#{usuarioMBean.salvar}"
								oncomplete="handleSalvarUsuarioRequest(xhr, status, args);" /&gt;
							&lt;!-- 
								&lt;p:commandButton id="cmdCancelar" value="Cancelar"
								update=":frm:pnlGrdPesquisa" icon="ui-icon-cancel"
								process=":frm" onclick="dlg.hide();" /&gt;
								 --&gt;

						&lt;/div&gt;
					&lt;/f:facet&gt;
				&lt;/p:panel&gt;
			&lt;/h:form&gt;
		&lt;/p:dialog&gt;
	&lt;/ui:define&gt;
&lt;/ui:composition&gt;

ManagedBean da pagína de usuarios

 	/**
	 * 
	 */
	package br.com.condweb.controlador;
	
	import java.io.Serializable;
	import java.util.ArrayList;
	import java.util.List;
	
	import javax.faces.bean.ManagedBean;
	import javax.faces.bean.ViewScoped;
	import javax.faces.component.UIForm;
	import javax.faces.event.ActionEvent;
	
	import org.apache.log4j.Logger;
	import org.primefaces.component.datatable.DataTable;
	import org.primefaces.context.RequestContext;
	
	import br.com.condweb.dominio.modelo.Condominio;
	import br.com.condweb.dominio.modelo.TipoUsuario;
	import br.com.condweb.dominio.modelo.Usuario;
	import br.com.condweb.dominio.negocio.CondominioNegocio;
	import br.com.condweb.dominio.negocio.UsuarioNegocio;
	import br.com.condweb.dominio.negocio.excecoes.RegraNegocioExcecao;
	import br.com.condweb.util.Constantes;
	import br.com.condweb.util.ExcecaoMensagensFaces;
	import br.com.condweb.util.Mensagens;
	import br.com.condweb.util.Utilitarios;
	
	/**
	 * @author sfidencio
	 * 
	 */
	@ManagedBean
	@ViewScoped
	public class UsuarioMBean implements Serializable {
	
		/**
		 * 
		 */
		private static final long serialVersionUID = 1L;
		private Usuario usuario;
		private UsuarioNegocio usuarioNegocio;
		private UIForm frm = new UIForm();
		private UIForm frmDlgCad = new UIForm();
		private UIForm frmDlgCmd = new UIForm();
		private UIForm frmDlgCondAdm = new UIForm();
		private DataTable dt;
		private String tituloTela = Constantes.TITULO_TELA_INCLUSAO + "Usuário.";
		private List&lt;Usuario&gt; usuarios;
		private Usuario usuarioSelecionado;
		private RequestContext ctx;
		private List&lt;Condominio&gt; sugestoesCondominios;
		private CondominioNegocio condominioNegocio;
		private List&lt;Condominio&gt; condominios;
		private List&lt;Condominio&gt; condominiosAdministrados = new ArrayList&lt;Condominio&gt;();
		private TipoUsuario tipoUsuarioSelecionado;
		private Condominio condominioSelecionado;
		private Condominio condominioSelecionadoAdm;
		private Logger logger = Logger.getLogger(UsuarioMBean.class);
		Boolean salvo = false;
		Boolean excluido = false;
		Boolean selecionado = false;
	
		/**
		 * 
		 */
		public UsuarioMBean() {
			try {
				this.inicializarMBean();
				this.listar();
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(null, Constantes.STRING_VAZIA,
						e.getMessage());
			}
		}
	
		private void limparArvoreComponentes() {
			try {
				Utilitarios.cleanSubmittedValues(this.frm);
				Utilitarios.cleanSubmittedValues(this.frmDlgCad);
				Utilitarios.cleanSubmittedValues(this.frmDlgCmd);
				Utilitarios.cleanSubmittedValues(this.frmDlgCondAdm);
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(null, Constantes.STRING_VAZIA,
						e.getMessage());
			}
		}
	
		private void inicializarMBean() {
			if (this.usuario == null) {
				this.usuario = new Usuario();
				this.usuario.setTipousuario(new TipoUsuario());
				this.usuario.setCondominio(new Condominio());
			}
			if (this.usuarioNegocio == null) {
				this.usuarioNegocio = new UsuarioNegocio();
			}
			if (this.condominioNegocio == null) {
				this.condominioNegocio = new CondominioNegocio();
			}
			this.logger.info("Usuário e dependecias criadas: "
					+ this.usuario.toString());
		}
	
		private void listar() {
			try {
				this.usuarios = this.usuarioNegocio.listar();
				this.logger.info("Lista de usuários montada: "
						+ this.usuarios.toString());
				this.condominios = this.condominioNegocio.listar();
				this.logger.info("Lista de condomínios montada: "
						+ this.condominios.toString());
			} catch (Exception e) {
				this.logger.info("Erro ao listar usuários");
				ExcecaoMensagensFaces.mensagemERRO(null, Constantes.STRING_VAZIA,
						e.getMessage());
			}
		}
	
		private void resetarTela() {
			try {
				this.tituloTela = Constantes.TITULO_TELA_INCLUSAO + "Usuário.";
				this.setUsuario(null);
				this.setUsuarioSelecionado(null);
				this.setCondominioSelecionado(null);
				this.setTipoUsuarioSelecionado(null);
				this.setCondominioSelecionadoAdm(null);
				this.setCondominiosAdministrados(null);
				this.limparArvoreComponentes();
				this.setCondominiosAdministrados(new ArrayList&lt;Condominio&gt;());
				this.setUsuario(new Usuario());
				this.listar();
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(null, Constantes.STRING_VAZIA,
						e.getMessage());
			}
		}
	
		public void adicionarCondominioLista(ActionEvent event) {
			try {
				this.limparArvoreComponentes();
				this.usuarioNegocio.adicionarItemListaCondominio(
						this.condominiosAdministrados,
						this.condominioSelecionadoAdm);
				logger.info("Adicionado o condomínio: "
						+ this.condominioSelecionadoAdm.getNome()
						+ " na lista de condomínios administrados");
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(Constantes.NOME_FORM_CAD,
						e.getMessage(), e.getMessage());
			}
		}
	
		public void removerCondominioLista(ActionEvent event) {
			try {
				this.limparArvoreComponentes();
				this.usuarioNegocio.removerItemListaCondominio(
						this.condominiosAdministrados,
						this.condominioSelecionadoAdm);
				logger.info("Removido o condomínio: "
						+ this.condominioSelecionadoAdm.getNome()
						+ " na lista de condomínios administrados");
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(Constantes.NOME_FORM_CAD,
						e.getMessage(), e.getMessage());
			}
		}
	
		public void novo(ActionEvent event) {
			try {
				this.resetarTela();
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(null, Constantes.STRING_VAZIA,
						e.getMessage());
			}
		}
	
		public void salvar(ActionEvent event) {
			try {
				this.logger.info("Iniciando salvar");
				this.ctx = RequestContext.getCurrentInstance();
				this.salvo = false;
				this.usuario.setCondominio(this.condominioSelecionado);
				this.usuario.setTipousuario(this.tipoUsuarioSelecionado);
				this.usuario
						.setCondominiosAdministrados(this.condominiosAdministrados);
				this.usuarioNegocio.salvar(this.usuario);
				this.salvo = true;
				ExcecaoMensagensFaces.mensagemINFO(null,
						Mensagens.SUCESSO_OPERACAO_SALVAR_SUMARIO,
						Mensagens.SUCESSO_OPERACAO_DETALHE);
				this.resetarTela();
			} catch (RegraNegocioExcecao erd) {
				this.logger.error("Registro duplicado");
				this.ctx.addCallbackParam("salvo", this.salvo);
				ExcecaoMensagensFaces.mensagemERRO(Constantes.NOME_FORM_CAD,
						erd.getMessage(), erd.getMessage());
			} catch (Exception e) {
				this.logger.error("Falha ao salvar");
				this.ctx.addCallbackParam("salvo", this.salvo);
				ExcecaoMensagensFaces.mensagemERRO(Constantes.NOME_FORM_CAD,
						e.getMessage(), e.getMessage());
			} finally {
				this.logger.info("Enviando Callback salvar para Client: "
						+ this.salvo);
				this.ctx.addCallbackParam("salvo", this.salvo);
			}
		}
	
		public void cancelar(ActionEvent event) {
			try {
				this.resetarTela();
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(null, Constantes.STRING_VAZIA,
						e.getMessage());
			}
		}
	
		public void excluir(ActionEvent event) {
			try {
				this.excluido = false;
				this.usuario = this.usuarioNegocio.buscar(this.usuario.getId());
				this.usuarioNegocio.excluir(this.usuario);
				this.excluido = true;
				ExcecaoMensagensFaces.mensagemINFO(null,
						Mensagens.SUCESSO_OPERACAO_EXCLUIR_SUMARIO,
						Mensagens.SUCESSO_OPERACAO_DETALHE);
				this.logger.info("Usuário marcado para ser excluído.");
				this.resetarTela();
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(null, Constantes.STRING_VAZIA,
						e.getMessage());
			}
		}
	
		public void prepararRegistro(ActionEvent event) {
			try {
				this.limparArvoreComponentes();
				this.tituloTela = Constantes.TITULO_TELA_ALTERACAO + "Usuário.";
				this.ctx = RequestContext.getCurrentInstance();
				this.selecionado = false;
				if (this.usuarioSelecionado == null)
					throw new Exception(Mensagens.ERRO_SELECIONAR);
				this.usuario = this.usuarioNegocio.buscar(this.usuarioSelecionado
						.getId());
				this.setTipoUsuarioSelecionado(this.usuario.getTipousuario());
				this.setCondominioSelecionado(this.usuario.getCondominio());
				this.selecionado = true;
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(null, Constantes.STRING_VAZIA,
						e.getMessage());
			} finally {
				this.ctx.addCallbackParam("selecionado", this.selecionado);
			}
	
		}
	
		public List&lt;Condominio&gt; sugerirCondominios(String valor) {
			try {
				this.limparArvoreComponentes();
				this.sugestoesCondominios = new ArrayList&lt;Condominio&gt;();
				for (Condominio cond : this.condominios) {
					if (cond.getNome().startsWith(valor)) {
						this.sugestoesCondominios.add(cond);
					}
				}
			} catch (Exception e) {
				ExcecaoMensagensFaces.mensagemERRO(Constantes.NOME_FORM_CAD,
						e.getMessage(), e.getMessage());
			}
			return this.sugestoesCondominios;
		}
	
		public void setUsuario(Usuario Usuario) {
			this.usuario = Usuario;
		}
	
		public Usuario getUsuario() {
			return usuario;
		}
	
		public void setTituloTela(String tituloTela) {
			this.tituloTela = tituloTela;
		}
	
		public String getTituloTela() {
			return tituloTela;
		}
	
		public void setFrm(UIForm frm) {
			this.frm = frm;
		}
	
		public UIForm getFrm() {
			return frm;
		}
	
		public void setUsuarios(List&lt;Usuario&gt; Usuarios) {
			this.usuarios = Usuarios;
		}
	
		public List&lt;Usuario&gt; getUsuarios() {
			return usuarios;
		}
	
		public void setUsuarioSelecionado(Usuario usuarioSelecionado) {
			this.usuarioSelecionado = usuarioSelecionado;
		}
	
		public Usuario getUsuarioSelecionado() {
			return usuarioSelecionado;
		}
	
		public void setTipoUsuarioSelecionado(TipoUsuario tipoUsuarioSelecionado) {
			this.tipoUsuarioSelecionado = tipoUsuarioSelecionado;
		}
	
		public TipoUsuario getTipoUsuarioSelecionado() {
			return tipoUsuarioSelecionado;
		}
	
		public Condominio getCondominioSelecionado() {
			return condominioSelecionado;
		}
	
		public void setCondominioSelecionado(Condominio condominioSelecionado) {
			this.condominioSelecionado = condominioSelecionado;
		}
	
		public void setDt(DataTable dt) {
			this.dt = dt;
		}
	
		public DataTable getDt() {
			return dt;
		}
	
		public void setLogger(Logger logger) {
			this.logger = logger;
		}
	
		public Logger getLogger() {
			return logger;
		}
	
		public void setCondominioSelecionadoAdm(Condominio condominioSelecionadoAdm) {
			this.condominioSelecionadoAdm = condominioSelecionadoAdm;
		}
	
		public Condominio getCondominioSelecionadoAdm() {
			return condominioSelecionadoAdm;
		}
	
		public void setCondominiosAdministrados(
				List&lt;Condominio&gt; condominiosAdministrados) {
			this.condominiosAdministrados = condominiosAdministrados;
		}
	
		public List&lt;Condominio&gt; getCondominiosAdministrados() {
			return condominiosAdministrados;
		}
	
		public void setFrmDlgCad(UIForm frmDlgCad) {
			this.frmDlgCad = frmDlgCad;
		}
	
		public UIForm getFrmDlgCad() {
			return frmDlgCad;
		}
	
		public void setFrmDlgCmd(UIForm frmDlgCmd) {
			this.frmDlgCmd = frmDlgCmd;
		}
	
		public UIForm getFrmDlgCmd() {
			return frmDlgCmd;
		}
	
		public void setFrmDlgCondAdm(UIForm frmDlgCondAdm) {
			this.frmDlgCondAdm = frmDlgCondAdm;
		}
	
		public UIForm getFrmDlgCondAdm() {
			return frmDlgCondAdm;
		}
	
	}

CallBackParameter:

function handlePrepararAlterarUsuarioRequest(xhr, status, args) {
	if (args.selecionado)
		dlg.show();
}

function handlePrepararExcluirUsuarioRequest(xhr, status, args) {
	if (args.selecionado) {
		confDlg.show();
	}
}

Template utilizado:

 
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"&gt;

&lt;f:view contentType="text/html"&gt;
	&lt;h:head&gt;
		&lt;!-- Configuracao do Tamanho da Pagina --&gt;
		&lt;!-- Importando CSS --&gt;
		&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
		&lt;h:outputStylesheet library="css" name="style.css" /&gt;
		&lt;h:outputScript name="script.js" library="js" /&gt;
		&lt;h:outputStylesheet library="css" name="syntaxhighlighter.css" /&gt;
		&lt;h:outputStylesheet library="css" name="default.css" /&gt;
		&lt;!-- Inserir CSS e JavaScripts Especificos --&gt;
		&lt;ui:insert name="CSSeJavaScript"&gt;&lt;/ui:insert&gt;
		&lt;ui:insert name="TituloPagina"&gt;&lt;/ui:insert&gt;
	&lt;/h:head&gt;
	&lt;h:body&gt;
		&lt;p:log/&gt;
		&lt;!-- Componente de Mensagens --&gt;
		&lt;p:growl id="grow" autoUpdate="true" sticky="false" showSummary="true"
			life="10000" showDetail="true" globalOnly="true" /&gt;
		&lt;p:layout fullPage="true"&gt;
			&lt;p:layoutUnit position="north" size="84" maxSize="500" id="topo"
				header="Gestão Máxima - Controle de Prestação de Contas de
				Condomínio"&gt;
				&lt;ui:include src="/composition/Menu.xhtml" /&gt;
			&lt;/p:layoutUnit&gt;
			&lt;p:layoutUnit position="center"&gt;
				&lt;ui:insert name="Conteudo" /&gt;
			&lt;/p:layoutUnit&gt;
			&lt;p:layoutUnit position="south" size="30"&gt;
				&lt;div align="center"&gt;
					&lt;span&gt;&copy; 2012 Gestão Máxima - Todos Direitos Reservados.&lt;/span&gt;
				&lt;/div&gt;
			&lt;/p:layoutUnit&gt;
		&lt;/p:layout&gt;
	&lt;/h:body&gt;
&lt;/f:view&gt;
&lt;/html&gt;

efim, quando eu seleciono a linha da datatable com id=“dtUsuario”, e clico no botao com id=“cmdAlterar”, ele deveria settar o objeto no managedBean e abrir a p:dialog, essa parte de abir a dialog, atraves do retorno callback. está funcionando para os meus outros casos de uso tranquilo,. inclusive nesse,. o problema e que ele não ta settando o objeto, só isso, já mexi no propery process, update., fiz tanto coisa já mas nao seta. se observares, o método preparaRegistro, tem uma verificação., se o objetoSelecionado ésta null ou não, sempre está voltando NULL para o managed bean, sempre,… e com isso a exceção é chamada dizendo que não foi selecionado o registro para alteração. Engraçado e que ativei o p:log, e vejo que nas requisições Ajax ele processa a página como um todo, porque não especifiquei o que processar, da update na dialg,. mas vejo que ele não manda a tripa de parametros com valores concatenados, esquisitissimo isso, meus outros USeCases está funcionando normal que coisa pessoalll…

aguardo…a gentileza dos Srs., ficarei grato!!!

Nínguem pode me ajudar?