none
COLORIR LINHA DATAGRIDVIEW RRS feed

  • Pergunta

  • Boa Tarde,

    Antes de mais nada fiz uma pesquisa no fórum e nenhum dos resultados atendeu a minha necessidade.

    Gostaria de ajuda no seguinte.

    Tenho uma coluna no meu datagrid que se chama Tipo de Pendencia,e gostaria de colorir a linha de acordo com o que esta gravado na tabela.

    Exemplo:

    Se a pendência for líquida a linha fica azul

    Se for Não líquida a linha fica em vermelho

    Grato.

    quinta-feira, 8 de novembro de 2012 17:14

Respostas

  • Eu faria do Seguinte Modo (Não testei)

    Após inserir as informações no DataGridView, percorrer ele para identificar os valores e mudar a cor do BackGround

            'Percorrer DataGridView
    
            For Intx As System.Int32 = 0 To Me.Datagridview1.Rows.Count - 1
    
    
                'Obter Valor da Celula na Row Intx
    
                Dim ValorPendencias As System.String = Me.datagridview1.Rows(Intx).Cells("IndiceColuna").Value.ToString
    
    
    
                'Identificar se Valor = 1
    
                If ValorPendencias = "VALOR 1" Then
    
    
    
                    'Se for, mudar para cor vermelha                
    
                    datagridview1.Rows(Intx).DefaultCellStyle.BackColor = Color.Red
    
    
    
                    'Se valor = 2
    
                ElseIf ValorPendencias = "VALOR 2" Then
    
    
    
                    'Mudar para cor Azul 
    
                    datagridview1.Rows(Intx).DefaultCellStyle.BackColor = Color.Blue
    
                End If
    
            Next

    Espero que seja isso!

    At

    Alan


    • Marcado como Resposta Loez sexta-feira, 9 de novembro de 2012 12:43
    quinta-feira, 8 de novembro de 2012 19:30
  • Tente usar:

    datagridview1.Rows(Intx).Cells("IDCOLUNA").Style.BackColor = Color.Blue

    At

    Alan
    • Marcado como Resposta Loez sexta-feira, 9 de novembro de 2012 13:49
    sexta-feira, 9 de novembro de 2012 12:58
  • Aí você pode usar o comando abaixo:

    If Instr(ValorPendencias, "PalavraAoEncontrar") = 1 Then 'Código se encontrou a palavra

    elseIf Instr(ValorPendencias, "PalavraAoEncontrar") = 0 Then 'Código se não encontrou a palavra

    End If

    Acho que dá certo

    At

    Alan

    • Marcado como Resposta Loez sexta-feira, 9 de novembro de 2012 16:06
    sexta-feira, 9 de novembro de 2012 15:33

Todas as Respostas

  • Oi. 

    http://social.msdn.microsoft.com/Forums/pt-BR/vsvbasicpt/thread/292b4e08-d130-41e5-a0ef-4f7c11a22050/

    A única coisa que muda é o índice da linha, que no caso eram índices pares/ímpares.

    quinta-feira, 8 de novembro de 2012 17:31
  • Vitor boa Tarde,

    Como eu faria a substituição da variavel integer pela string porque no caso vou procurar se é Líquido,não líquido,se está em acordo.

    Sou meio leigo no assunto então desculpa qualquer coisa.

    quinta-feira, 8 de novembro de 2012 18:16
  • Eu faria do Seguinte Modo (Não testei)

    Após inserir as informações no DataGridView, percorrer ele para identificar os valores e mudar a cor do BackGround

            'Percorrer DataGridView
    
            For Intx As System.Int32 = 0 To Me.Datagridview1.Rows.Count - 1
    
    
                'Obter Valor da Celula na Row Intx
    
                Dim ValorPendencias As System.String = Me.datagridview1.Rows(Intx).Cells("IndiceColuna").Value.ToString
    
    
    
                'Identificar se Valor = 1
    
                If ValorPendencias = "VALOR 1" Then
    
    
    
                    'Se for, mudar para cor vermelha                
    
                    datagridview1.Rows(Intx).DefaultCellStyle.BackColor = Color.Red
    
    
    
                    'Se valor = 2
    
                ElseIf ValorPendencias = "VALOR 2" Then
    
    
    
                    'Mudar para cor Azul 
    
                    datagridview1.Rows(Intx).DefaultCellStyle.BackColor = Color.Blue
    
                End If
    
            Next

    Espero que seja isso!

    At

    Alan


    • Marcado como Resposta Loez sexta-feira, 9 de novembro de 2012 12:43
    quinta-feira, 8 de novembro de 2012 19:30
  • Alan,

    Muito obrigado pela sua resposta,no momento estou em casa e não tenho um backup do projeto aqui,mas amanhã quando chegar no serviço irei testar,de qualquer forma muito obrigado

    quinta-feira, 8 de novembro de 2012 23:03
  • Eu faria do Seguinte Modo (Não testei)

    Após inserir as informações no DataGridView, percorrer ele para identificar os valores e mudar a cor do BackGround

            'Percorrer DataGridView
    
            For Intx As System.Int32 = 0 To Me.Datagridview1.Rows.Count - 1
    
    
                'Obter Valor da Celula na Row Intx
    
                Dim ValorPendencias As System.String = Me.datagridview1.Rows(Intx).Cells("IndiceColuna").Value.ToString
    
    
    
                'Identificar se Valor = 1
    
                If ValorPendencias = "VALOR 1" Then
    
    
    
                    'Se for, mudar para cor vermelha                
    
                    datagridview1.Rows(Intx).DefaultCellStyle.BackColor = Color.Red
    
    
    
                    'Se valor = 2
    
                ElseIf ValorPendencias = "VALOR 2" Then
    
    
    
                    'Mudar para cor Azul 
    
                    datagridview1.Rows(Intx).DefaultCellStyle.BackColor = Color.Blue
    
                End If
    
            Next

    Espero que seja isso!

    At

    Alan


    Obrigado Alan,seu código funcionol perfeiamente,porém como eu faria para colorir apenas a coluna que for igual a pesquisa?
    sexta-feira, 9 de novembro de 2012 12:44
  • Tente usar:

    datagridview1.Rows(Intx).Cells("IDCOLUNA").Style.BackColor = Color.Blue

    At

    Alan
    • Marcado como Resposta Loez sexta-feira, 9 de novembro de 2012 13:49
    sexta-feira, 9 de novembro de 2012 12:58
  • Tente usar:

    datagridview1.Rows(Intx).Cells("IDCOLUNA").Style.BackColor = Color.Blue

    At

    Alan

    Obrigado 2 vezes Alan,deu certo.
    sexta-feira, 9 de novembro de 2012 13:49
  • Só mais uma pergunta,teria como eu fazer a mudança da cor mas ao inves de usar o = eu fazer o uso do like

    No caso quero dizer

    Dentro de todo o testo da coluna tiver a palavra Pendencia ele joga a cor defina.

    sexta-feira, 9 de novembro de 2012 14:32
  • Aí você pode usar o comando abaixo:

    If Instr(ValorPendencias, "PalavraAoEncontrar") = 1 Then 'Código se encontrou a palavra

    elseIf Instr(ValorPendencias, "PalavraAoEncontrar") = 0 Then 'Código se não encontrou a palavra

    End If

    Acho que dá certo

    At

    Alan

    • Marcado como Resposta Loez sexta-feira, 9 de novembro de 2012 16:06
    sexta-feira, 9 de novembro de 2012 15:33
  • Mais uma vez obrigado Alan!!!

    sexta-feira, 9 de novembro de 2012 16:06
  • Eu faria do Seguinte Modo (Não testei)

    Após inserir as informações no DataGridView, percorrer ele para identificar os valores e mudar a cor do BackGround

            'Percorrer DataGridView
    
            For Intx As System.Int32 = 0 To Me.Datagridview1.Rows.Count - 1
    
    
                'Obter Valor da Celula na Row Intx
    
                Dim ValorPendencias As System.String = Me.datagridview1.Rows(Intx).Cells("IndiceColuna").Value.ToString
    
    
    
                'Identificar se Valor = 1
    
                If ValorPendencias = "VALOR 1" Then
    
    
    
                    'Se for, mudar para cor vermelha                
    
                    datagridview1.Rows(Intx).DefaultCellStyle.BackColor = Color.Red
    
    
    
                    'Se valor = 2
    
                ElseIf ValorPendencias = "VALOR 2" Then
    
    
    
                    'Mudar para cor Azul 
    
                    datagridview1.Rows(Intx).DefaultCellStyle.BackColor = Color.Blue
    
                End If
    
            Next

    Espero que seja isso!

    At

    Alan


    Muito útil, apesar de algumas pesquisas em foruns de C#  esse aqui conseguiu resolver meu problema. Obrigado 
    domingo, 28 de dezembro de 2014 19:14