A4J em cada Linha da Tabela?

2 respostas
G

Boa Tarde Galera,

Estou construindo um carrinho de Compras em JSF/Facelets/RichFaces e estou com um problema.

Depois que adiciono os produtos no carrinho, deixei a quantidade como input para o cliente poder alterar
a quantidade de produtos.

Coloquei um evento quando alterar a quantidade do produto, altera com ajax o subtotal do produto
e o total da compra. Funcionou ok.

O problema é que:

  • Isso só funciona corretamente para a última linha da DataTable, as demais linhas não funciona.
    Alguém sabe como resolver esse problema?

Obrigado.

2 Respostas

deadlock

posta o codigo ai…

G

Acredito ser mais um problema de conceito do que um problema de codificação. Mais enfim, se quiserem olhar eis o código:

<rich:dataTable value="#{Pedido.pedidos}" var="p"
						style="z-index: 1;" id="tabL" columnClasses="impar"
						styleClass="sortable">

						<f:facet name="header">
							<rich:columnGroup>
								<rich:column>
									<h:outputText value="Código" />
								</rich:column>

								<rich:column>
									<h:outputText value="Referência" />
								</rich:column>

								<rich:column>
									<h:outputText value="Item" />
								</rich:column>

								<rich:column>
									<h:outputText value="Qtd" />
								</rich:column>

								<rich:column>
									<h:outputText value="Valor Unitário" />
								</rich:column>

								<rich:column>
									<h:outputText value="SubTotal" />
								</rich:column>

								<rich:column>
									<h:outputText value="Remover" />
								</rich:column>
							</rich:columnGroup>
						</f:facet>


						<rich:columnGroup>
							<rich:column>
								<h:outputText value="#{p.produto.id}" />
							</rich:column>

							<rich:column>
								<h:outputText value="#{p.produto.referencia}" />
							</rich:column>

							<rich:column>
								<h:outputText value="#{p.produto.nome}" />
							</rich:column>

							<rich:column>
								<h:form>
									<rich:inputNumberSpinner value="#{p.quantidade}"
										style="float: left;">
										<a4j:support event="onclick"  reRender="tabL" />
									</rich:inputNumberSpinner>
								</h:form>
							</rich:column>

							<rich:column>
								<h:outputText value="#{p.preco}">
									<f:convertNumber type="currency" pattern="###,##0.0000" />
								</h:outputText>
							</rich:column>

							<rich:column>
								<h:outputText value="#{p.preco * p.quantidade}" id="subTotal">
									<f:convertNumber type="currency" pattern="###,##0.0000" />
								</h:outputText>
							</rich:column>

							<rich:column>
								<h:form>
									<h:commandButton value="Remover esse Item"
										style="float: right; margin: 0 42% 0 0 !important; border: none !important;"
										onclick="if (confirm('Confirma Exclusão?')){ return true }; return false;"
										action="#{Pedido.getDel}" image="assets/imagens/btn_del.gif" />
								</h:form>
							</rich:column>
						</rich:columnGroup>

					</rich:dataTable>
Criado 4 de julho de 2008
Ultima resposta 4 de jul. de 2008
Respostas 2
Participantes 2