Faccruz 0 Denunciar post Postado Maio 5, 2011 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) Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 6, 2011 Todas as label tem o mesmo nome: lblTotal. Com esta logica que montou complica. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Maio 6, 2011 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
quintelab 91 Denunciar post Postado Maio 6, 2011 Eu usaria uma ferramenta de relatorio para isso. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Maio 6, 2011 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
Faccruz 0 Denunciar post Postado Maio 9, 2011 Alguem poderia me explicar como fazer um relatório seja impresso igual a imagem? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 9, 2011 No crystal por exemplo ele tem a opção de detalhar por coluna. Assim que acabar o espaço das colunas ele vai para baixo. Para totalizar, basta criar os grupos corretos. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites