none
Somar uma coluna mais de uma vez no datagrid RRS feed

  • Pergunta

  • Ola estou desenvolvendo uma aplicação eu tirei uma duvida minha aqui no forum só que estou com outra duvida quando eu faço uma pesquisa ela soma certinho mas quando eu refaço a pesquisa e peço para somar novamente sem reabrir a form ele da erro e mostra a linha eu gostaria de saber se voces poderiam me ajudar nisso que nesse codigo ele permita fazer mais de 1 pesquisa com a form aberta que ate agora nao descobri como fazer isso obrigado 

    public partial class BuscarGastos : Form { public BuscarGastos() { InitializeComponent(); } private void AtualizarGrid() { GastosInserirNegocios gastosInserirNegocios = new GastosInserirNegocios(); GastosOBJcoleca gastosOBJcoleca = new GastosOBJcoleca(); AcessoDadosSqlServer acessoDadosSqlServer = new AcessoDadosSqlServer(); gastosOBJcoleca = gastosInserirNegocios.ConsultarGastosPorData(dateinicial.Value, datefinal.Value.Date); dgvgastos.DataSource = null; dgvgastos.DataSource = gastosOBJcoleca; dgvgastos.Refresh(); dgvgastos.Update(); } protected void btbuscar_Click(object sender, EventArgs e) { AtualizarGrid(); LimparCampos(); } private void txtbvt_TextChanged(object sender, EventArgs e) { } private decimal ValorTotal() { decimal total = 0; int i = 0; for (i = 0;i < dgvgastos.Rows.Count; i++) { total = total + Convert.ToDecimal(dgvgastos.Rows[i].Cells["Valor"].Value); } return total; } private void calculaValorTotalGrid() { if (dgvgastos.Rows.Count > 0) txtbvt.Text = ValorTotal().ToString("c"); } private void btCalcular_Click(object sender, EventArgs e) { calculaValorTotalGrid(); } private void LimparCampos() { txtbvt.Clear(); dgvgastos.ClearSelection(); } } }

    segunda-feira, 27 de junho de 2016 14:33

Respostas

  • Se você consegue fazer uma busca e depois somar, com certeza seu código deve está certo. Você deve ficar atento é se não foi armazenados um tipo de dado diferente do que está trabalho, e por consequência está ocorrendo o erro.

    Utilize o código para não gerar os nomes:

               dgvgastos.AutoGenerateColumns = false;


    terça-feira, 28 de junho de 2016 01:22

Todas as Respostas

  • Boa tarde,

    Não entendi sua dúvida ou seu erro.... Você gostaria de percorrer o DataGridView mesmo com o Form "fechado"?

    Att,

    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    segunda-feira, 27 de junho de 2016 16:33
  • Boa tarde,

    Não entendi sua dúvida ou seu erro.... Você gostaria de percorrer o DataGridView mesmo com o Form "fechado"?

    Att,

    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    nada disso é que acontece o seguinte quando eu abro a form faço busca de uma data por exemplo 20/06/2016 ate 27/06/2016 digamos que nesse periodo tem 3 linhas cadastradas que soma no total 200 real so que quando eu mudo refaço essa busca ao invez do dia 20/06 ponho 01/06/2016 ate 27/06/2016 e peço para somar todas as linhas novamente so que ele nao soma ele fecha no meu datagrid tem as colunas certas com nomes mais bunitinhos e tals so que quando refaço essa busca os nomes das colunas mudam para como que esta no banco de dados e isso que eh minha duvida qual parte do meu codigo esta errado para "bugar " as pesquisas uma pesquisa ele soma para resomar eu tenho que fechar a form e abri-la novamente para que consiga somar apartir das datas que quero
    segunda-feira, 27 de junho de 2016 21:22
  • Se você consegue fazer uma busca e depois somar, com certeza seu código deve está certo. Você deve ficar atento é se não foi armazenados um tipo de dado diferente do que está trabalho, e por consequência está ocorrendo o erro.

    Utilize o código para não gerar os nomes:

               dgvgastos.AutoGenerateColumns = false;


    terça-feira, 28 de junho de 2016 01:22
  • Se você consegue fazer uma busca e depois somar, com certeza seu código deve está certo. Você deve ficar atento é se não foi armazenados um tipo de dado diferente do que está trabalho, e por consequência está ocorrendo o erro.

    Utilize o código para não gerar os nomes:

               dgvgastos.AutoGenerateColumns = false;


    perfeito amigo mto obg funcionando perfeitamente agora obg msm
    terça-feira, 28 de junho de 2016 19:13