Ola!
Tenho uma funçaõ que me carrega uma lista de itens de pedido para uma aplicação de um carrinho de compras.
Segue a funcao abaixo:
public void carregaListaItensPedido() throws SQLException {
Map<String, Object> itenspedido = new HashMap<String, Object>();
listaItensPedido = new ArrayList<Map<String, Object>>();
List <ItemPedido> lista = new ArrayList<ItemPedido>();
HttpSession httpSession = (HttpSession) FacesContext
.getCurrentInstance().getExternalContext().getSession(false);
Conta conta = (Conta) httpSession.getAttribute("conta");
Pedido pedido = conta.getPedido();
lista = pedido.getListaItensPedidos();
for (int i =0; i<lista.size(); i++){
itenspedido = new HashMap<String, Object>();
itenspedido.put("cd_item", lista.get(i).getItem().getCodigo());
itenspedido.put("nomeproduto", lista.get(i).getItem().getProduto().getNome());
itenspedido.put("preco", lista.get(i).getPrecoUnitario());
itenspedido.put("qtd", lista.get(i).getQuantidade());
itenspedido.put("total", lista.get(i).TotalItemPedido());
listaItensPedido.add(itenspedido);
}
}
Ai eu jogo essa lista num DataTable, até ai tudo certo.
Codigo da tabela abaixo:
<h:dataTable border="2" value="#{compras.listaItensPedido}"
var="itens" binding="#{compras.tabelaPedido}">
<h:column>
<h:commandButton image="images\button_remove.gif" action="#{compras.removeItemDoPedido}" onmousedown="setItem('#{itens.cd_item}')"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Item ID" />
</f:facet>
<h:outputText value="#{itens.cd_item}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Nome Produto" />
</f:facet>
<h:commandLink value="#{itens.nomeproduto}" action="#{compras.redirecionaDetalhesProduto}" onmousedown="setItem('#{itens.cd_item}')"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Preço" />
</f:facet>
<h:outputText value="#{itens.preco}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="QTD" />
</f:facet>
<h:inputText id="qtd" size="3" value="#{itens.qtd}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Total" />
</f:facet>
<h:outputText value="#{itens.total}" />
</h:column>
</h:dataTable>
</td>
<td>
<h:commandButton image="images\cart-update.gif" actionListener="#{compras.updateTotal}" />
</td>
</tr>
</table>
<h:outputText value="Total: " /><h:outputText value="#{compras.total_pedido}" /><br>
</h:form>
O problema é que o usuario pode mudar o valor do campo quantidade e quando clicar no botao UpdateTotals eu preciso atualiza a minha lista de pedidos com a quantidade que o usuario digito nakele item, meu problema é saber como pegar akele valor que o usuario digito nu campo da tabela e saber qual o item que ele atualizo para eu poder atualizar minha lista.
Agradeço a ajuda!