none
Zerar texbox ao desmarcar linhas datagridview RRS feed

  • Pergunta

  • Boa noite!

    tenho uma tela com uma grid, onde ao marcar as chekbox os valores vão sendo somados, mas ao desmarcar todos os checkbox, o Texbox que recebe a soma fica com o ultimo valor armazenado.

    Fez a soma normal

    Checkbox desmarcado

    Essa segunda imagem mostra o datagrid sem nenhuma chekbox selecionado mas permanece o valor de uma linha no texbox Total Selecinado.

    Gostaria de zerar o Texbox ao desmarcar todos os checkbox.

    sexta-feira, 29 de abril de 2016 03:27

Respostas

  • Bom dia

    Limpe o campo antes de percorrer as linhas. Deixe assim:

    private void datagridpesquisa_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {  
    	double valor = 0;
    	txt_TotalSelecionado.Text = "0,00";
    
    	foreach (DataGridViewRow row in datagridpesquisa.Rows)
    	{
    		if ((Convert.ToBoolean(row.Cells["p"].Value) == true))
    		{
    			valor += double.Parse(row.Cells[7].Value.ToString().Replace(" ", "").Replace(".", ""));
    			txt_TotalSelecionado.Text = valor.ToString("C");
    		}                
    	}       
    }

    Att,


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

    • Sugerido como Resposta Silvaney sexta-feira, 29 de abril de 2016 12:18
    • Marcado como Resposta WR Services Wadson sexta-feira, 29 de abril de 2016 15:56
    sexta-feira, 29 de abril de 2016 12:17

Todas as Respostas

  •  private void datagridpesquisa_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {  
                double valor = 0;

                foreach (DataGridViewRow row in datagridpesquisa.Rows)
                {
                    if ((Convert.ToBoolean(row.Cells["p"].Value) == true))
                    {
                        valor += double.Parse(row.Cells[7].Value.ToString().Replace(" ", "").Replace(".", ""));
                        txt_TotalSelecionado.Text = valor.ToString("C");
                    }                
                }       
            }
    sexta-feira, 29 de abril de 2016 03:28
  • Bom dia

    Limpe o campo antes de percorrer as linhas. Deixe assim:

    private void datagridpesquisa_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {  
    	double valor = 0;
    	txt_TotalSelecionado.Text = "0,00";
    
    	foreach (DataGridViewRow row in datagridpesquisa.Rows)
    	{
    		if ((Convert.ToBoolean(row.Cells["p"].Value) == true))
    		{
    			valor += double.Parse(row.Cells[7].Value.ToString().Replace(" ", "").Replace(".", ""));
    			txt_TotalSelecionado.Text = valor.ToString("C");
    		}                
    	}       
    }

    Att,


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

    • Sugerido como Resposta Silvaney sexta-feira, 29 de abril de 2016 12:18
    • Marcado como Resposta WR Services Wadson sexta-feira, 29 de abril de 2016 15:56
    sexta-feira, 29 de abril de 2016 12:17
  • Obrigado Silvaney deu certo, agora quando desmarco todos fica zerado no Texbox, obrigado.
    sexta-feira, 29 de abril de 2016 15:57