Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Faccruz

Somar quantidade/valor DataList

Recommended Posts

Boa tarde,

 

Tenho uma DataList dentro de outra DataList

ASPX

<table width="805" border="0" cellpadding="5" cellspacing="0">
         <tr valign="top">
           <td bgcolor="#33CC99">
             <asp:DataList ID="Mont_Cabec" runat="server"
                           GridLines="Both"
                           RepeatColumns="2"
                           CellPadding="3"
                           CellSpacing="0"
                           Font-Name="Arial"
                           Font-Size="8pt" onitemdatabound="Mont_Cabec_ItemDataBound">
               <ItemTemplate>
                 <table border="0" cellpadding="0" cellspacing="0" width="100%">
                   <caption class="style1">*** PEDIDO DE MONTAGEM ***</caption>
                   <tr>                      
                     <td><b>Data.....: </b> </td>
                     <td><asp:Label ID="lblData" runat="server" Text=<%#DataBinder.Eval(Container.DataItem, "DataVenda") %>></asp:Label></td>
                     <td><b>Vend.:</b> </td>
                     <td><asp:Label ID="lblVend" runat="server" Text=<%#DataBinder.Eval(Container.DataItem, "Operador") %>></asp:Label></td>
                     <td><b>Nota Fiscal..:</b> </td>
                     <td><asp:Label ID="lblNota" runat="server" Text=<%#DataBinder.Eval(Container.DataItem, "NotaFiscal") %>></asp:Label></td>
                   </tr>
                   <tr>
                     <td><b>Cliente..: </b> </td>
                     <td colspan="4"><asp:Label runat="server" ID="lblCliente" Text=<%# DataBinder.Eval(Container.DataItem, "Cliente") %>></asp:Label></td>
                   </tr>
                   <tr>
                     <td><b>Endereço.: </b> </td>
                     <td colspan="4"><asp:Label runat="server" ID="lblEndereco" Text=<%# DataBinder.Eval(Container.DataItem, "Endereco") %>></asp:Label></td>
                   </tr>
                   <tr>
                     <td><b>Bairro: </b> </td>
                     <td><asp:Label ID="lblBairro" runat="server" Text=<%# DataBinder.Eval(Container.DataItem, "Bairro") %>></asp:Label></td>
                     <td><b>Lote......:</b></td>
                     <td><asp:Label ID="lblLote" runat="server" Text=<%# DataBinder.Eval(Container.DataItem, "Lote") %>></asp:Label></td>
                   </tr>
                   <tr>
                     <td><b>Cidade...: </b> </td>
                     <td><asp:Label ID="lblCidade" runat="server" Text=<%# DataBinder.Eval(Container.DataItem, "Cidade") %>></asp:Label></td>
                     <td><b>Telefone..:</b></td>
                     <td><asp:Label ID="lblTelefone" runat="server" Text=<%# DataBinder.Eval(Container.DataItem, "Telefone", "{0:(##)####-####}") %>></asp:Label></td>
                   </tr>
                   <tr>
                     <td colspan="5">---------------------------------------------------------------------------------------------------</td>
                   </tr>
                   <tr>
                     <td width="50">Código</td>
                     <td width="600" align="left">Descrição</td>
                     <td width="50">Qtd.</td>
                     <td width="100">V. Unit.</td>
                     <td>V. Total</td>
                   </tr>
                   <tr>
                     <td colspan="5">---------------------------------------------------------------------------------------------------</td>
                   </tr> 
                   <tr>
                     <td colspan="5">
                       <asp:DataList ID="Mont_Prod" runat="server"
                                     GridLines="None"
                                     RepeatColumns="1"
                                     CellPadding="0"
                                     CellSpacing="0"
                                     Font-Name="Arial"
                                     Font-Size="8pt"
                                     onitemdatabound="Mont_Prod_ItemDataBound">
                         <ItemTemplate>
                           <table width="100%" border="0">
                             <tr>                              
                               <td width="50"><%# DataBinder.Eval(Container.DataItem, "CodProduto") %></td>
                               <td width="200"><%# DataBinder.Eval(Container.DataItem, "DescProduto") %></td>
                               <td width="50" align="right"><asp:Label runat="server" ID="lblQtd" Text=<%# DataBinder.Eval(Container.DataItem, "Qtd") %>></asp:Label></td>
                               <td width="100" align="right"><%# DataBinder.Eval(Container.DataItem, "VlrUnit", "{0:0.00}") %></td>
                               <td width="100" align="right"><asp:Label runat="server" ID="lblTotal" Text=<%# DataBinder.Eval(Container.DataItem, "VlrTotal", "{0:0.00}") %>></asp:Label></td>
                             </tr>
                           </table>
                         </ItemTemplate>
                       </asp:DataList>                                      
                     </td>                      
                   </tr>  
                   <tr>
                     <td colspan="5">---------------------------------------------------------------------------------------------------</td>
                   </tr>
                   <tr>
                     <td></td>
                     <td>SOMA</td>
                     <td><asp:Label ID="lblTotQtd" runat="server"></asp:Label></td>
                     <td></td>
                     <td><asp:Label id="lblTotGeral" runat="server"></asp:Label></td>
                   </tr>                
                   <tr>
                     <td colspan="5">---------------------------------------------------------------------------------------------------</td>
                   </tr>
                 </table>
               </ItemTemplate>
             </asp:DataList>
           </td>            
         </tr>
       </table>

Código C#

protected void Mont_Cabec_ItemDataBound(object sender, DataListItemEventArgs e)
   {
       if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
           return;
       if (e.Item.Controls.Contains((DataList)e.Item.FindControl("Mont_Prod")))
       {            
           string Lote = ((Label)e.Item.FindControl("lblLote")).Text;            
           string Nota = ((Label)e.Item.FindControl("lblNota")).Text;

           DataList Mont_Prod = (DataList)e.Item.FindControl("Mont_Prod");
           Mont_Prod.DataSource = ListaProdutos(Lote, Nota);
           Mont_Prod.DataBind();

           Label lblTotQtd = (Label)e.Item.FindControl("lblTotQtd");
           lblTotQtd.Text = Convert.ToString(vQtd);
           Label lblTotGeral = (Label)e.Item.FindControl("lblTotGeral");
           lblTotGeral.Text = String.Format("{0:c}", vTotGeral);
       }
   }
   protected void Mont_Prod_ItemDataBound(object sender, DataListItemEventArgs e)
   {
       if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
           return;
       else
       {
           string lblQtd = ((Label)e.Item.FindControl("lblQtd")).Text;
           string lblTotal = ((Label)e.Item.FindControl("lblTotal")).Text;

           vQtd += Convert.ToInt32(lblQtd);
           vTotGeral += float.Parse(lblTotal);
       }
   }

 

Funcionando perfeitamente, porém preciso realizar uma somatória da Quantidade e Valor Total, mas ele está acumulando e "jogando" a soma de todos os itens (imagem)

eug30o.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todas as label tem o mesmo nome: lblTotal. Com esta logica que montou complica.

 

Abraços...

 

Não existe nenhuma forma de fazer essa soma?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E como eu faria para sair da mesma forma que está a imagem?

 

E como eu faria para sair da mesma forma que está a imagem?

 

 

Resolvi!

 

No momento que eu exibo a soma eu zero as variaveis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.