@Bruno_Buscariolo escreveu:
Boa tarde galera..
Estou com o seguinte problema, talvez seja até simples, mas estou desde ontem tentando arrumar e ainda não consegui, então toda ajuda é bem vinda..Seguinte: Eu tenho duas listas na página da venda, uma com itensVenda, e outra com maoDeObra..
A lista itensVenda, remove normalmente e funciona de acordo como eu preciso, porém a lista maoDeObra, após adicionar várias Mão de Obra, quanto tento remover alguma, ela sempre remove o primeiro item da lista..
Gostaria de alguma ajuda pra isso..maodeobra.xhtml
<?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:p="http://primefaces.org/ui" xmlns:f="http://xmlns.jcp.org/jsf/core"> <p:panelGrid columns="2" layout="grid" columnClasses="coluna10, coluna90"> <p:outputLabel value="Mão de Obra:" for="maodeobra"/> <h:panelGroup> <p:inputText id="maodeobra" value="#{vendaControle.maoDeObra.descricao}"/> </h:panelGroup> <p:outputLabel value="Valor:" for="valor"/> <p:inputText id="valor" value="#{vendaControle.maoDeObra.valor}"> <f:convertNumber minFractionDigits="2" maxFractionDigits="2"/> </p:inputText> <p:commandButton value="Adicionar" icon=" ui-icon-circle-triangle-s" action="#{vendaControle.addItem2()}" ajax="false"/> </p:panelGrid> <p:dataTable value="#{vendaControle.venda.maoDeObra}" var="obra" paginator="true" rows="5" rowIndexVar="rowIndex" emptyMessage="Nenhum registro encontrado"> <p:column headerText="Descrição" width="10%" style="text-align:center"> <h:outputText value="#{obra.descricao}"/> </p:column> <p:column headerText="Valor" width="10%" style="text-align:center"> <h:outputText value="#{obra.valor}"> <f:convertNumber minFractionDigits="2" maxFractionDigits="2" type="currency" currencySymbol="R$"/> </h:outputText> </p:column> <p:column headerText="Remover" width="20%" style="text-align:center"> <p:commandButton value="Remover" icon="ui-icon-circle-triangle-n" action="#{vendaControle.removeItem2(obra)}" ajax="false"/> </p:column> </p:dataTable> </html> >> VendaControle.java package controle; import converter.ConverterGenerico; import entidades.ItemVenda; import entidades.MaoDeObra; import entidades.Venda; import facade.VendaFacade; import java.io.Serializable; import java.util.List; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import javax.faces.view.ViewScoped; import javax.inject.Inject; import javax.inject.Named; @Named @ViewScoped public class VendaControle implements Serializable { private Venda venda; @Inject private VendaFacade vendaFacade; private ConverterGenerico converterGenerico; private ItemVenda itemVenda = new ItemVenda(); private MaoDeObra maoDeObra = new MaoDeObra(); public void addItem() { try { venda.addItem(itemVenda); itemVenda = new ItemVenda(); } catch (Exception ex) { ex.printStackTrace(); FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_WARN, ex.getMessage(), ""); FacesContext.getCurrentInstance().addMessage(null, message); } } public void addItem2() { try { venda.addItem2(maoDeObra); maoDeObra = new MaoDeObra(); } catch (Exception ex) { ex.printStackTrace(); FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_WARN, ex.getMessage(), ""); FacesContext.getCurrentInstance().addMessage(null, message); } } public void removeItem(ItemVenda i) { venda.removeItem(i); } public void removeItem2(MaoDeObra m) { venda.removeItem2(m); } public ConverterGenerico converter() { if (converterGenerico == null) { converterGenerico = new ConverterGenerico(vendaFacade); } return converterGenerico; } public void novo() { venda = new Venda(); itemVenda = new ItemVenda(); maoDeObra = new MaoDeObra(); } public String salvar() { try { venda.validar(); venda.movimenta(); vendaFacade.salvar(venda); return "list?faces-redirect=true"; } catch (Exception ex) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, ex.getMessage(), ""); FacesContext.getCurrentInstance().addMessage(null, message); } return null; } public String excluir(Venda v) { vendaFacade.excluir(v); return "list?faces-redirect=true"; } public List<Venda> getListagem() { return vendaFacade.listar(); } public Venda getVenda() { return venda; } public void setVenda(Venda venda) { this.venda = venda; } public ItemVenda getItemVenda() { return itemVenda; } public void setItemVenda(ItemVenda itemVenda) { this.itemVenda = itemVenda; } public MaoDeObra getMaoDeObra() { return maoDeObra; } public void setMaoDeObra(MaoDeObra maoDeObra) { this.maoDeObra = maoDeObra; } }
Mensagens: 2
Participantes: 1