JSF - valueChangeListener dispara evento para todas as linhas da tabela

0 respostas
carolino

Tenho o seguinte código

<rich:panel>
								<rich:scrollableDataTable rowKeyVar="indiceDaLista"
								id="tabelaImagensNaoVinculadasId" var="_imagem" height="100px" width="500px"
								value="#{quoteHome.imagensDoc}" binding="#{dataTableDesvinculado.documentosDesvinculados}">
									<h:column>
										<f:facet name="header">Imagem não vinculada</f:facet>
										<h:outputText value="#{_imagem.imagem}"
											id="tipoDocumentoId">
										</h:outputText>
									</h:column>
									<h:column>
										<f:facet name="header">Data</f:facet>
									</h:column>
									<h:column>
										<f:facet name="header"></f:facet>
									</h:column>
								<h:column>
									<f:facet name="header">Vínculo</f:facet>
									<h:selectOneMenu id="tipoDocumentoSelecionadoNVinculadosId"
										title="Selecione um documento."
										value="#{_imagem.idDocumento}"
										style="width: 100px;" 
										valueChangeListener="#{quoteHome.mudarDocumentoComListener}" immediate="true" converter="ConvertDocumentLong">
										<s:selectItems id="selectTiposDocumentoNVinculadosId"
											value="#{quoteHome.instance.documents}" var="_doc"
											label="#{_doc.documentType.name}" itemValue="#{_doc.id}" />
										
										<a:support event="onchange"
											action="#{quoteHome.setarImagemCorrenteAVincular(indiceDaLista)}"
											reRender="tabelaImagensNaoVinculadasId,tabelaDocumentosVinculadosId" />
									</h:selectOneMenu>
								</h:column>
							</rich:scrollableDataTable>
						</rich:panel>

Cada vez que um valor do selectOneMenu é mudado, o valueChangeListener
dispara o evento. Até ai esta correto, o problema é que ele dispara o evento para cada linha
da tabela, e não apenas para a linha em que foi mudado o valor

Alguem sabe como eu poderia disparar o vento apenas na linha em que foi mudado o valor?

Obrigado pessoal!

Criado 3 de julho de 2012
Respostas 0
Participantes 1