Olá amigos bom dia!
Estou com problema em uma manutencao de ordem de servico onde tenho um datatable que é master Ordem de Serviço o outro que é detail Ocorrencia da Ordem de Servico e estou usando Netbeans, primefaces 3.0 M4 a propriedade <p:ajax event=“rowSelect” update=“opnOrdemServico” immediate=“true”/>
mas sempre quando faço isto estou executando update em tudo na verdade gostaria de somente nos grids gostaria de executar o update o dialog sempre vem com dados do outros registro selecionado ou seja o objeto que foi selecionado na master pega o anterior.
segue codigo.
<p:dataTable id="dtbOrdemServico"
value="#{TbOrdemServicoMB.tbOrdemServicos}"
var="ordemservico"
rows="15"
paginator="true"
paginatorPosition="bottom"
selectionMode="single"
selection="#{TbOrdemServicoMB.tbOrdemServico}"
emptyMessage="Nenhum registro encontrado"
rowKey="#{ordemservico.cdOrdemServico}">
<p:ajax event="rowSelect" update="opnOrdemServico" immediate="true"/>
<p:column sortBy="#{ordemservico.cdOrdemServico}"
filterBy="#{ordemservico.cdOrdemServico}">
<f:facet name="header">
<h:outputText value="OS"/>
</f:facet>
<h:outputText value="#{ordemservico.cdOrdemServico}"/>
</p:column>
<p:column sortBy="#{ordemservico.dtAnoOrdemServico}"
filterBy="#{ordemservico.dtAnoOrdemServico}">
<f:facet name="header">
<h:outputText value="Ano"/>
</f:facet>
<h:outputText value="#{ordemservico.dtAnoOrdemServico}"/>
</p:column>
<p:column sortBy="#{ordemservico.dsTitulo}"
filterBy="#{ordemservico.dsTitulo}">
<f:facet name="header">
<h:outputText value="Título"/>
</f:facet>
<h:outputText value="#{ordemservico.dsTitulo}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Abertura"/>
</f:facet>
<h:outputText value="#{ordemservico.dtAbertura}">
<f:convertDateTime pattern="dd/MM/yyyy"
timeZone="GMT-3"/>
</h:outputText>
</p:column>
<p:column sortBy="#{ordemservico.cdSistema.dsSistema}"
filterBy="#{ordemservico.cdSistema.dsSistema}">
<f:facet name="header">
<h:outputText value="Sistema"/>
</f:facet>
<h:outputText value="#{ordemservico.cdSistema.dsSistema}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Fechamento"/>
</f:facet>
<h:outputText value="#{ordemservico.dtFechamento}">
<f:convertDateTime pattern="dd/MM/yyyy"
timeZone="GMT-3"/>
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Adicionar"/>
</f:facet>
<p:commandLink value="Ocorrência"
update=":display"
action="#{TbOrdemServicoMB.navegarNovoOcorrencia}"
onclick="dlgOcorrencia.show()"/>
</p:column>
</p:dataTable>
<p:dataTable id="dtbOcorrencia"
value="#{TbOrdemServicoMB.tbOcorrencias}"
var="ocorrencia"
rows="15"
paginator="true"
paginatorPosition="bottom"
selectionMode="single"
selection="#{TbOcorrenciaMB.tbOcorrencia}"
emptyMessage="Nenhum registro encontrado"
rowKey="#{ocorrencia.cdOrdemServico}">
<p:column>
<f:facet name="header">
<h:outputText value="OS"/>
</f:facet>
<h:outputText value="#{ocorrencia.cdOrdemServico}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Ano"/>
</f:facet>
<h:outputText value="#{ocorrencia.dtAnoOrdemServico}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Movimento"/>
</f:facet>
<h:outputText value="#{ocorrencia.nrMovimento}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Data"/>
</f:facet>
<h:outputText value="#{ocorrencia.dtOcorrencia}">
<f:convertDateTime pattern="dd/MM/yyyy"
timeZone="GMT-3"/>
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Ocorrência"/>
</f:facet>
<h:outputText value="#{ocorrencia.dsOcorrencia}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Tipo"/>
</f:facet>
<h:outputText value="#{ocorrencia.cdOcorrenciaTipo.dsOcorrenciaTipo}"/>
</p:column>
</p:dataTable>
</p:panel>
</h:form>
<p:dialog header="Ocorrência Ordem de Serviço" widgetVar="dlgOcorrencia" resizable="false" width="750" height="350">
<h:form id="frmOcorrencia">
<h:panelGrid columns="2" style="margin-bottom:10px">
<h:outputLabel value="OS"
for="itxdlgcdOrdem"/>
<h:inputText id="itxdlgcdOrdem"
value="#{TbOrdemServicoMB.tbOcorrencia.cdOrdemServico}"
size="10"
readonly="true"/>
<h:outputLabel value="Ano OS"
for="itxdlgodtAnoOrdemServico"/>
<h:inputText id="itxdlgdtAnoOrdemServico"
value="#{TbOrdemServicoMB.tbOcorrencia.dtAnoOrdemServico}"
size="10"
readonly="true"/>
<h:outputLabel value="Data Ocorrência"
for="itxdlgdtOcorrencia"/>
<p:inputMask id="itxdlgdtOcorrencia"
value="#{TbOrdemServicoMB.tbOcorrencia.dtOcorrencia}"
size="10"
readonly="true"
mask="99/99/9999">
<f:convertDateTime pattern="dd/MM/yyyy" />
</p:inputMask>
<h:outputLabel value="Ocorrencia"
for="itxdlgdsOcorrencia"/>
<p:inputTextarea id="itxdlgdsOcorrencia"
value="#{TbOrdemServicoMB.tbOcorrencia.dsOcorrencia}"
rows="8"
cols="100"
required="true"
requiredMessage="Campo Obrigatório"/>
<h:outputLabel value="Tipo de Ocorrência"
for="somnTbOcorrenciaTipo"/>
<h:selectOneMenu id="somnTbOcorrenciaTipo"
value="#{TbOrdemServicoMB.tbOcorrencia.cdOcorrenciaTipo}"
converter="tbOcorrenciaTipoConverter">
<f:selectItems value="#{TbOrdemServicoMB.tbOcorrenciaTipos}"
var="tbOcorrenciaTipo"
itemLabel="#{tbOcorrenciaTipo.dsOcorrenciaTipo}"
itemValue="#{tbOcorrenciaTipo}"/>
</h:selectOneMenu>
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Gravar"/>
<p:commandButton value="Cancelar"/>
</h:panelGrid>
</h:form>
</p:dialog>
</ui:composition>