Carcleo 4 Denunciar post Postado Janeiro 10, 2009 Olá pessoal. Ai vai mais um probleminha com impressão com print Document. Bom, esta é o BeginPrint: Acontece que estou fazendo um wile no MySqlDataReader para listar os ítens do pedido. Só que quando vou listar valores com vírgula tipo dinheiro ou peso, o wile (sei la se é ele. Pelo menos acho que é!), tira a virgula e arredonda o valor. Tipo: leitor("valorunitario") = deveria retornar 2,36 e esta retornando 2 puro (e arredondando) leitor("peso") = deveria retornar 2,75 e esta retornando 3 puro (e arredondando) Onde estara meu erro? Private Sub Begin_Print(ByVal sender As Object, ByVal e As Printing.PrintEventArgs) If codigoped.Text <> "" Then ccodigo = codigoped.Text End If Dim strConnString As String = "server=localhost;userid=root;password=;database=Vendas" conexao = New MySqlConnection(strConnString) conexao.Open() 'pegando o numero total de linhas Dim PrintStringdetalhespedidoscount As String = "Select Count(*) from detalhespedidos where pedidoID= " & ccodigo & " order by produtoID" Dim cmdcount As New MySqlCommand(PrintStringdetalhespedidoscount, conexao) totalLinhas = CInt(cmdcount.ExecuteScalar()) Dim PrintStringdetalhespedidos As String = "Select * from detalhespedidos where pedidoID= " & ccodigo & " order by produtoID" Dim cmd As New MySqlCommand(PrintStringdetalhespedidos, conexao) leitor = cmd.ExecuteReader() PaginaAtual = 1 End Sub Aqui, faço a leitura dos dados: While (LinhaAtual < LinhasPorPagina AndAlso leitor.Read()) produtoID = leitor("produtoID") unidade = leitor("unidade") descricao = leitor("descricao") preco = leitor("preco") 'preco = String.Format("{0:#.#0}", leitor("preco").ToString) 'tentativa que fiz que não deu certo quantidade = leitor("quantidade") subtotal = leitor("subtotal") 'subtotal = String.Format("{0:#.#0}", leitor("subtotal").ToString) 'tentativa que fiz que não deu certo PosicaoDaLinha = MargemSuperior + (LinhaAtual * FonteNormal.GetHeight(e.Graphics)) + 100 e.Graphics.DrawString(produtoID, FonteNormal, Brushes.Black, MargemEsquerda, PosicaoDaLinha, New StringFormat()) e.Graphics.DrawString(unidade, FonteNormal, Brushes.Black, MargemEsquerda + 50, PosicaoDaLinha, New StringFormat()) e.Graphics.DrawString(descricao, FonteNormal, Brushes.Black, MargemEsquerda + 100, PosicaoDaLinha, New StringFormat()) e.Graphics.DrawString(preco, FonteNormal, Brushes.Black, MargemEsquerda + 350, PosicaoDaLinha, New StringFormat()) e.Graphics.DrawString(quantidade, FonteNormal, Brushes.Black, MargemEsquerda + 450, PosicaoDaLinha, New StringFormat()) e.Graphics.DrawString(subtotal, FonteNormal, Brushes.Black, MargemEsquerda + 550, PosicaoDaLinha, New StringFormat()) LinhaAtual += 1 End While Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Janeiro 10, 2009 Resolvido. O problema esta na declaração da variaves,. estava como int e o certo seria double! Compartilhar este post Link para o post Compartilhar em outros sites