Problemas com a4j:commandLink em dataTable

1 resposta
M

Olá pessoal, sou relativamente novo em JSF… Estou usando RichFaces e tenho um grande problema aqui…

Consegui fazer a dataTable filtrar os dados corretamente e consegui q os botoes commandLink abram um modal pra eu editar os dados da tabela :smiley:

Porém quando eu filtro E edito ele pega pelo numero da coluna q estava nakela posição antes do filter… isto eh, tenho cinco rows na table “a,b,c,d,e”, se eu filtrar para “e” e editar, no modal aparece o objeto “a” pois eh o primeiro da lista q antes tinha 5, mas q agora depois da filtragem só tem um… Tentei de tudo… n sei como fazer…

Códigos…

Command Link:

<a4j:commandLink ajaxSingle="true" id="deletelink"
						oncomplete="#{rich:component('deleteClientePanel')}.show()">
						<h:graphicImage value="/img/icones/delete.gif" style="border:0" />
						<f:setPropertyActionListener value="#{row}"
							target="#{ClienteMB.currentRow}" />
						<f:setPropertyActionListener value="#{c}"
							target="#{ClienteMB.currentItem}" />
					</a4j:commandLink>

Filtragem:

<rich:column filterMethod="#{ClienteFilter.filterNome}">
					<h:outputText value="#{c.nome}" />
		<f:facet name="header">
                    <h:inputText value="#{ClienteFilter.filterNome}" id="inputNome">
                        <a4j:support status="ok" event="onkeyup" reRender="clientes , ds, editLink"
                            ignoreDupResponses="true" requestDelay="700"
                            oncomplete="setCaretToEnd(event);"
                            />
                    </h:inputText>
                </f:facet>
</rich:column>

Header da DataTable:

<rich:dataTable align="center" value="#{ClienteMB.table}" var="c"
				rowClasses="row1, row2" id="clientes" rows="15"
				columnClasses="50,100,100,100"
				onRowMouseOver="this.style.backgroundColor='#B5F3FB'"
				onRowMouseOut="this.style.backgroundColor='#{a4jSkin.rowBackgroundColor}'"
				width="600" reRender="ds" >

Obrigado pessoal…

1 Resposta

M

Resolvido!

Era só colocar o Managed Bean ClienteFilter no escopo “session”.

Criado 1 de junho de 2009
Ultima resposta 1 de jun. de 2009
Respostas 1
Participantes 1