Primefaces - collector não remove os elementos

3 respostas
R

Pessoal, estou começando com JSF 2.0 e primefaces, e estou com um problema no componente colector, eu consigo adicionar os telefones normalmente, porém na hora de remover, a página não atualiza, o interessante é que se eu der um refresh na página aparece corretamente os telefones, e o que eu cliquei para remover some corretamente. A dúvida é, como fazer para atualização ocorrer na hora.

Segue o código:

<p:growl id="msgs" />

					<p:panel header="Telefones do usuário">
						<h:panelGrid columns="2" id="grid">
							<h:outputLabel value="DDD: " for="ddd" />
							<p:inputMask id="ddd" value="#{controleUsuarioBean.telefone.ddd}"
								required="true" mask="999" />

							<h:outputLabel value="Número do Telefone: " for="numeroTelefone"></h:outputLabel>
							<p:inputText id="numeroTelefone" required="true"
								value="#{controleUsuarioBean.telefone.numeroTelefone}" />

							<p:commandButton value="Limpar" type="reset" />
							<p:commandButton id="btn_add" value="Adicionar"
								update="teletones msgs @parent"
								action="#{controleUsuarioBean.reinit}">
								<p:collector value="#{controleUsuarioBean.telefone}"
									addTo="#{controleUsuarioBean.usuario.contato.telefones}" />
							</p:commandButton>
						</h:panelGrid>
					</p:panel>

					<p:outputPanel id="teletones">
						<p:dataTable id="telefonesTable"
							value="#{controleUsuarioBean.usuario.contato.telefones}"
							var="telefone">

							<p:column>
								<f:facet name="header">
									<h:outputText value="DDD" />
								</f:facet>
								<h:outputText value="#{telefone.ddd}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="Número Telefone" />
								</f:facet>
								<h:outputText value="#{telefone.numeroTelefone}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="Retirar" />
								</f:facet>
								<p:commandLink id="command" value="Remover"
									update=":form:telefones" process=":form:telefones">
									<p:collector value="#{telefone}"
										removeFrom="#{controleUsuarioBean.usuario.contato.telefones}" />
								</p:commandLink>
							</p:column>

						</p:dataTable>
					</p:outputPanel>

3 Respostas

R

Ninguém ?

ErickRAR

O seu update no command link para deletar está escrito “tele[color=red]f[/color]ones”, mas o id da tabela é “tele[color=red]t[/color]ones.”

R

Opa, obrigado, que vacilo!

As vezes é melhor outra pessoa olhar o código, pq eu já tava estressado de tanto olhar.

Criado 21 de julho de 2012
Ultima resposta 23 de jul. de 2012
Respostas 3
Participantes 2