Passando parametro para o Render via Ajax - JSF

2 respostas
M

Olá Pessoal,

estou tentando fazer uma página que mostre os dados que tenho no banco de dados dentro de um datatable. Isso ta tranquilo.
A questão agora é que eu queria colocar um botão de edição em cada linha do datatable e na hora que eu clicasse nele a linha ficaria editável com os campos sendo trocados para InplaceInput ao invés do Output.
Já tentei de várias maneiras e não consegui. Tentei salvar as linhas que tiveram o botão clicado pelo usuário em um mapa, e retornar através de uma função isEditState que determina se tal objeto vai ser renderizado ou não. O problema é que eu não consigo passar um parametro para a função do isEditState, para ele saber certinho de qual linha que está se tratando.
Alguém tem uma idéia de como faz isso ?

Obrigado,
Marcio

2 Respostas

Z

fala Marcio, bem se vc quiser passar um parâmetro vc pode usar:

<f:setPropertyActionListener value="#{aqui vc coloca o cara que possui os dados, aqui seria aquele var que vc coloca na dataTable}" target="#{aqui seria uma váriável ou objeto onde vc queira enviar os dados}" />

<f:setPropertyActionListener value="#{list}" target="#{bean.users}" />

[]`s

M

Olá Zabimaru, obrigado pela resposta.

O problema é que assim eu queria passar o parametro no método rendered e não no action.

Olhe meu código

<a4j:outputPanel id="tablepanel" ajaxRendered="true"
				rendered="#{transactionBean.tableState}">
				<a4j:form>
					<a4j:commandLink action="#{transactionBean.doEdit}"
						rendered="#{transactionBean.tableState}">

						<f:param name="primarytag" value="#{transactions.primaryTag.id}" />
						<f:setPropertyActionListener
							target="#{transactionBean.primaryTag}"
							value="#{transactions.primaryTag}" />


						<h:graphicImage id="edit_image" alt="Edit" url="/img/edit.png">
						</h:graphicImage>
					</a4j:commandLink>
				</a4j:form>
			</a4j:outputPanel>

Eu só consigo usar o listener dentro do commandlink se coloco ele dentro do outputPanel ou fora do outputPanel tá dando erro. Eu queria passar um parametro para o isTableState. Sabe como fazer isso ?

Obrigado,
Marcio

Criado 25 de agosto de 2008
Ultima resposta 25 de ago. de 2008
Respostas 2
Participantes 2