none
Números quebrados no DataGridView RRS feed

  • Pergunta

  • Olá, ao puxar as informações do BD para o DataGridView ele mostra os números quebrados conforme imagem abaixo:

    Esse é a forma que é preenchida o DataGridView:

    public void CarregarRelatorio()
            {
                // Relatório mensal de pedidos
                string strSQL = @"select cast(p.idPedido as varchar(10)) + cast(p.numeroPedido as varchar(15)) as 'Número do Pedido', c.nome as 'Nome do Cliente', p.dataPedido as 'Data do Pedido', ps.descricao as 'Status',
                (select COUNT(idPedidoItem) from pedidosItens where idPedido = p.idPedido) as 'Qt de Peças',
                p.descontoManual as 'Desconto', p.valorFrete as 'Valor do Frete', p.valorProdutos as 'Sub-Total', p.valorPedido + creditoUtilizado as 'Valor Final do Pedido', 
                p.creditoUtilizado as 'Crédito Utilizado', p.valorPedido as 'A Pagar', cp.descricao as 'Condição de Pagamento', u.nome as 'Vendedor'
    
                from pedidos p
                inner join cadastros c on p.idCadastro = c.idCadastro
                inner join pedidosStatus ps on p.idStatus = ps.idStatus
                left join condicoesPagamento cp on p.idCondicaoPagamento = cp.idCondicaoPagamento
                left join usuarios u on p.idVendedor = u.idUsuario
    
                where MONTH(p.dataPedido) in (" + mes + ") and YEAR(p.dataPedido) = " + ano + " order by p.dataPedido";
    
                objConnection = new SqlConnection(connectionString);
                objCommand = new SqlCommand(strSQL, objConnection);
    
                try
                {
                    SqlDataAdapter objAdp = new SqlDataAdapter(objCommand);
    
                    DataTable dt = new DataTable();
    
                    objAdp.Fill(dt);
    
                    dgvPrincipal.DataSource = dt;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

    Como eu consigo deixar os valores arredondados?

    quarta-feira, 16 de setembro de 2015 19:54

Respostas

  • Olá meu caro NouRuem,

    veja esse link com exemplos de formatação no DataGridView

    http://www.visual-basic-tutorials.com/formatDatagridView.htm


    Att, Lucio Rogerio


    Espero ter ajudado, se ajudei, por favor Vote como Útil, e se resolvi seu problema, clique em Marcar como Resposta.

    • Marcado como Resposta NouRuem quinta-feira, 17 de setembro de 2015 14:10
    quinta-feira, 17 de setembro de 2015 00:47

Todas as Respostas

  • qual e o formato do campo na tabela?

    string, money, double....?


    A flower cannot blossom without sunshine, and man cannot live without love.

    quarta-feira, 16 de setembro de 2015 20:03
    Moderador
  • Esses campos de valores são do tipo float.
    quinta-feira, 17 de setembro de 2015 13:47
  • Olá, Bom dia!

    Você deve formatar a coluna que recebe os números dentro do objeto dataGridView isso deve resolver... Caso não resolva, verifique se o retorno dos dados do seu banco estão vindo valores numéricos ou texto Varchar, se for varchar altere para numero, double, numeric, float deve resolver...

    Visite meu canal no youtube tem alguns exemplos práticos para aprendizado:

    https://www.youtube.com/channel/UCbIAUS0RNnCzU2B5SGFDJgg

    quinta-feira, 17 de setembro de 2015 13:55
  • Ótima dica.

    Coloquei logo após carregar as infos do BD e preencher na DataGridView. Ficando assim:

    private void btnCarregar_Click(object sender, EventArgs e)
    {
         CarregarRelatorio();
    
         dgvPrincipal.Columns["Valor Final do Pedido"].DefaultCellStyle.Format = "C";
    }

    Fazendo isso, ele já preenche somente com 2 casas depois da virgula conforme resultado abaixo:

    Antes:


    Depois:

    quinta-feira, 17 de setembro de 2015 14:10