none
Verificar valores de um datagrid RRS feed

  • Pergunta

  • Boa noite. sou novo em programação e estou com o seguinte problema,

    Estou desenvolvendo uma aplicação onde tenho um formulário com um datagrid com algumas colunas e preciso correr todo o datagrid e verificar linha a linha se os valores de três colunas são iguais; se esta condição for verdadeira,uma quarta coluna recebera o valor de um textbox em suas respectivas linhas.

    Alguém poderia me ajudar 

    segunda-feira, 22 de agosto de 2016 01:31

Respostas

  • Olá Taylor,

    Você pode percorrer da seguinte forma, fiz um exemplo:

                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (!row.IsNewRow)
                    {
                        if (row.Cells["Column1"].Value.ToString().Equals(row.Cells["Column2"].Value.ToString()) &&
                            row.Cells["Column1"].Value.ToString().Equals(row.Cells["Column3"].Value.ToString()))
                            row.Cells["Column4"].Value = textBox1.Text;
                    }
                }

    OBS: Os nomes Column1, Column2, Column3, Column4 são nomes das minhas colunas (substitua pelo nome das suas) assim como a textbox1.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    segunda-feira, 22 de agosto de 2016 11:10

Todas as Respostas

  • Olá Taylor,

    Você pode percorrer da seguinte forma, fiz um exemplo:

                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (!row.IsNewRow)
                    {
                        if (row.Cells["Column1"].Value.ToString().Equals(row.Cells["Column2"].Value.ToString()) &&
                            row.Cells["Column1"].Value.ToString().Equals(row.Cells["Column3"].Value.ToString()))
                            row.Cells["Column4"].Value = textBox1.Text;
                    }
                }

    OBS: Os nomes Column1, Column2, Column3, Column4 são nomes das minhas colunas (substitua pelo nome das suas) assim como a textbox1.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    segunda-feira, 22 de agosto de 2016 11:10
  • Boa noite André!
    Converti o seu código para Vb e foi bem útil, mas ainda sim estou tendo problemas,

    quando executo o código, ele atribui o valor da textbox para a coluna inteira

    eu preciso que o valor da textbox vá apenas para as linhas que atendem a esta condição.

    Poderia me dizer onde eu errei 

    Desde já, muito obrigado pela ajuda!!

    Valeu!!!

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For Each row As DataGridViewRow In ProdDataGridView.Rows If Not row.IsNewRow Then If row.Cells(3).Value.ToString().Equals(row.Cells(4).Value.ToString()) AndAlso row.Cells(3).Value.ToString().Equals(row.Cells(5).Value.ToString()) Then row.Cells(18).Value = TextBox1.Text End If End If Next

    segunda-feira, 22 de agosto de 2016 23:39
  • Parece que seu código está correto. Tenta debugar ele ver o que ocorre linha a linha

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    terça-feira, 23 de agosto de 2016 03:29