none
Calcular colunas de DataGridView com decimal RRS feed

  • Pergunta

  • Saudações!

    Estou com um dataGridView preenchido pelo banco de dados, e gostaria de fazer um calculo da coluna inteira que está preenchida com numeros 0,00. Porém, o meu código de calculo está dando erro.

    Segue abaixo o código.

     private void CalcularDadosTabela()
            {
                try
                {
                  decimal Total = 0.00m;
    
                    foreach (DataGridViewRow row in dataGridView4.Rows.Cast<DataGridViewRow>().Where(t => !string.IsNullOrEmpty(t.Cells["saidas"].Value?.ToString())))
                    {
                       Total += Convert.ToDecimal(row.Cells["saidas"].Value);
                    }
    
                     textBox1.Text = Total.ToString();
                }
    
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

    com esse código funcionou com números normais. Mas como é um relatório financeiro, os valores são com vírgula "0,00", que no meu caso não está funcionando...Desde já eu agradeço.


    • Editado RonaldoMax terça-feira, 28 de janeiro de 2020 21:05
    terça-feira, 28 de janeiro de 2020 21:04

Respostas

  • Encontrei o problema!

    Na hora de inserir o valor no banco de vez usar o comando "c" para moedas eu uso o "N2" que transforma o numero em decimais com virgula mas não coloca o R$ no banco.

            private void valorTextBox2_TextChanged(object sender, EventArgs e)
            {
                try
                {
                    valor = Double.Parse(valorTxt2.Text);
    
                    valorTxt2.Text = valor.ToString("N2");
    
                }
                catch (Exception)
                {
    
                }
            }

    Quem tiver com a mesma dúvida e não conseguir achar o erro, fica a dica. Abraço!

    • Marcado como Resposta RonaldoMax quarta-feira, 29 de janeiro de 2020 02:47
    quarta-feira, 29 de janeiro de 2020 02:47

Todas as Respostas

  • Encontrei o problema!

    O problema não está no código, ele está funcionando perfeitamente. Está nos dados que são valores com R$ e o código não consegue somar por causa disso....alguém tem alguma dica de como remover o R$ da coluna antes de somar os valores?

    quarta-feira, 29 de janeiro de 2020 02:06
  • Encontrei o problema!

    Na hora de inserir o valor no banco de vez usar o comando "c" para moedas eu uso o "N2" que transforma o numero em decimais com virgula mas não coloca o R$ no banco.

            private void valorTextBox2_TextChanged(object sender, EventArgs e)
            {
                try
                {
                    valor = Double.Parse(valorTxt2.Text);
    
                    valorTxt2.Text = valor.ToString("N2");
    
                }
                catch (Exception)
                {
    
                }
            }

    Quem tiver com a mesma dúvida e não conseguir achar o erro, fica a dica. Abraço!

    • Marcado como Resposta RonaldoMax quarta-feira, 29 de janeiro de 2020 02:47
    quarta-feira, 29 de janeiro de 2020 02:47