Atualizar campos de uma linha em um AccordionPanel dentro de um DataTable

Boa tarde.

Eu criei uma página com a seguinte estrutura:

<h:form id="nfeValidarForm">
...
	<p:tabView id="nfeTabView">
		...
		<p:tab id="itensTab">
		...
			<p:dataTable id="nfeItensTable">
			...
				
				// Uma das colunas possui um CellEditor que ao editá-lo deveria atualizar uma outra coluna estática e os campos da linha dele que estão dentro do AccordionPanel
				
				<p:rowExpansion>
				...
					<h:panelGroup id="nfeItemImpostosForm">
					...
						<p:accordionPanel>
						...
							<p:tab>
								// Aqui estão os campos que são atualizados quando eu edito a coluna editável do DataTable. Eu seto os valores deles dentro do bean.

A coluna editável é um AutoComplete com o seguinte ajax:

<p:ajax event="itemSelect"
update="@([id$=nfeItemImpostosForm]) nfeNossoItemCfop"
listener="#{nfeValidarController.naturezaDeOperacaoSelected(p)}" />

Então ao editar o autocomplete, eu atualizo uma outra coluna estática que está fora do rowExpansion e do restante da estrutura e atualizo o panelGroup que contém o accordion e os campos que devem ser atualizados.

O problema é:

Quando eu faço essa edição na linha 2 de 10, por exemplo, eu estou usando o update: update="@([id$=nfeItemImpostosForm]) nfeNossoItemCfop" e quando eu atualizo o panelGroup nfeItemImpostosForm ele atualiza não só da linha que eu estou editando, mas de todas as linhas.

E os campos contidos nas outras linhas perdem o valor.

Há uma forma de eu atualizar apenas a linha que eu estou alterando?

E esse comportamento não tem um “padrão” as vezes logo na primeira edição ele faz isso, as vezes eu preciso editar 3 ou mais linhas para ocorrer.

Obrigado desde já.

Encontrei o problema, mas não uma solução.

O problema ocorre devido ao rowToggler e rowExpansion mesmo, pois esses campos que eu disse que estão sendo zerados, são todos selectOneMenu. Eu fiz um teste alterando eles para outputText e funcionou normalmente.

Quando são selectOneMenu após interagir com o rowToggler ele zera os valores, vi diversos desenvolvedores reclamando do mesmo comportamento, procurei uma solução e ainda não encontrei.

Estava usando o Primefaces 5.3 e atualizei pro 6.1 imaginando que isso já teria sido corrigido ou pelo menos mudado, mas continuou o mesmo comportamento.

Alguém já passou por algo semelhante e poderia me dar uma direção?