DUVIDA COLORIR FLEXGRID
                    Estou com dois problemas. 
Como faço para colorir o msFlexGrid de acordo com o que esta no banco de dados? Explicando
Suponhamos que eu tenho uma tabela e nessa tabela tenho um campo que diz se uma conta foi vencida ou não
E nesse campo é preenchido como (SIM ou NÃO).
Agora para colorir o FlexGrid:
Se a coluna X estiver algum campo escrito SIM: Preencher com a cor Azul
Se estiver escrito NÃO: Preencher com a cor Vermelha.
OBS.: Toda a linha com o BackColor (Cor do fundo) Azul ou Vermelha
Duvida dois (2):
Como faço para colorir a linha inteira com a Cor Verde quando eu clicar em uma determinada linha?
Obs.: Quando eu clicar numa linha essa linha muda de cor e quando eu clicar em outra linha muda a cor e a anterior volta a cor normal (branco)
Agradeço a todos do VBMania por colaborarem


 
                
            
Como faço para colorir o msFlexGrid de acordo com o que esta no banco de dados? Explicando
Suponhamos que eu tenho uma tabela e nessa tabela tenho um campo que diz se uma conta foi vencida ou não
E nesse campo é preenchido como (SIM ou NÃO).
Agora para colorir o FlexGrid:
Se a coluna X estiver algum campo escrito SIM: Preencher com a cor Azul
Se estiver escrito NÃO: Preencher com a cor Vermelha.
OBS.: Toda a linha com o BackColor (Cor do fundo) Azul ou Vermelha
Duvida dois (2):
Como faço para colorir a linha inteira com a Cor Verde quando eu clicar em uma determinada linha?
Obs.: Quando eu clicar numa linha essa linha muda de cor e quando eu clicar em outra linha muda a cor e a anterior volta a cor normal (branco)
Agradeço a todos do VBMania por colaborarem



 
                
                    >>>   Up!
                
            
                    Duvida 1 ) voce tem que fazer um loop colorindo o mesmo de acordo com as informacoes que contiverem no grid, exemplo.. 
Veja so, no meu caso aqui, se a colluna 7 tiver com as situacoes acima ele vai colorir com o evento cellbackcolor = a cor desejada.
Duvida 2 ) coloque a opçao seugrid.SelectionMode = 1
            
Sub ColorirGrid()
    Dim iL As Integer, iC As Integer
    With TDBGrid1
        For iL = 1 To .Rows - 1
            For iC = 0 To .Cols - 1
                .Col = iC
                .Row = iL
                If .TextMatrix(.Row, 7) = [Ô]1-Aguardando[Ô] Then
                    .CellBackColor = &HC0C0FF
                ElseIf .TextMatrix(.Row, 7) = [Ô]2-Pendente[Ô] Then
                    .CellBackColor = &HC0E0FF
                ElseIf .TextMatrix(.Row, 7) = [Ô]3-Analisando[Ô] Then
                    .CellBackColor = &HC0FFFF
                ElseIf .TextMatrix(.Row, 7) = [Ô]4-Concluida[Ô] Then
                    .CellBackColor = &HC0FFC0
                ElseIf .TextMatrix(.Row, 7) = [Ô]5-Cancelada[Ô] Then
                    .CellBackColor = &HFF&
                End If
            Next iC
        Next iL
    End With
End Sub
 Veja so, no meu caso aqui, se a colluna 7 tiver com as situacoes acima ele vai colorir com o evento cellbackcolor = a cor desejada.
Duvida 2 ) coloque a opçao seugrid.SelectionMode = 1
                    Obrigado Angel =]
um probleminha meu FlexGrid com o select mode =1 nao funcionou com o explicado em cima
teria um exemplo, ou imagem mostrando ?
abç 
                
            um probleminha meu FlexGrid com o select mode =1 nao funcionou com o explicado em cima

teria um exemplo, ou imagem mostrando ?
abç
 
                
                    bem para que a cor da linha selecionada fique como desejado.
vc tem q colokar a cor desejada na propriedade BackColorSel do grid e tbm fazer conforme nosso amigo charleston10 falou, colokar a propriedade selectionmode = 1 [Ô]flexSelectionByRow[Ô].
            vc tem q colokar a cor desejada na propriedade BackColorSel do grid e tbm fazer conforme nosso amigo charleston10 falou, colokar a propriedade selectionmode = 1 [Ô]flexSelectionByRow[Ô].
                    Funcionou aqui perfeitamente o SelectionMode = 1  no FlexGrid
mas o codigo que verifico o que esta escrito na coluna e mudo a cor da linha nao funcionou
seria essa a duvida:
Se a coluna X estiver algum campo escrito SIM: Preencher com a cor Azul
Se estiver escrito NÃO: Preencher com a cor Vermelha
tem como fazer com outro codigo?
            mas o codigo que verifico o que esta escrito na coluna e mudo a cor da linha nao funcionou
seria essa a duvida:
Se a coluna X estiver algum campo escrito SIM: Preencher com a cor Azul
Se estiver escrito NÃO: Preencher com a cor Vermelha
Citação:Sub ColorirGrid()
Dim iL As Integer, iC As Integer
With TDBGrid1
For iL = 1 To .Rows - 1
For iC = 0 To .Cols - 1
.Col = iC
.Row = iL
If .TextMatrix(.Row, 7) = [Ô]1-Aguardando[Ô] Then
.CellBackColor = &HC0C0FF
ElseIf .TextMatrix(.Row, 7) = [Ô]2-Pendente[Ô] Then
.CellBackColor = &HC0E0FF
ElseIf .TextMatrix(.Row, 7) = [Ô]3-Analisando[Ô] Then
.CellBackColor = &HC0FFFF
ElseIf .TextMatrix(.Row, 7) = [Ô]4-Concluida[Ô] Then
.CellBackColor = &HC0FFC0
ElseIf .TextMatrix(.Row, 7) = [Ô]5-Cancelada[Ô] Then
.CellBackColor = &HFF&
End If
Next iC
Next iL
End With
End Sub
tem como fazer com outro codigo?
                    Criei um exemplo para vc.
na realidade vc irá aproveitar a função colore linhas
esta função foi feita para funcionar de maneira bem genérica onde vc determina o que deseja
[txt-color=#007100][ô] ColoreLinhas [NomeDoSeuFlex], [Texto a ser consultado], [coluna de consulta],[cor para verdaeiro],[cor para falso][/txt-color]
ex:
ColoreLinhas MSFlexgrid1, [Ô]sim[Ô], 2, vbBlue, vbRed
acim a função verificará se a coluna 2 possui a palavra [Ô]sim[Ô], se possuir pinta a linha de azul, caso contrario pinta a linha de vermelho.
bom esta função pode ser adaptada para ser mais gererica ainda, basta vc ver suas necessidades e te ajudo com as alterações.
                
            na realidade vc irá aproveitar a função colore linhas
Function ColoreLinhas(flxgd As MSFlexGrid, Conteudo As String, coluna As Integer, CorParaVerdadeiro As OLE_COLOR, CorParaFalso As OLE_COLOR)
With flxgd
For p = 1 To .Rows - 1
If .TextMatrix(p, coluna) = Conteudo Then
For c = 0 To .Cols - 1
.Row = p
.Col = c
.CellForeColor = CorParaVerdadeiro
Next c
Else
For c = 0 To .Cols - 1
.Row = p
.Col = c
.CellForeColor = CorParaFalso
Next c
End If
Next p
End With
End Functionesta função foi feita para funcionar de maneira bem genérica onde vc determina o que deseja
[txt-color=#007100][ô] ColoreLinhas [NomeDoSeuFlex], [Texto a ser consultado], [coluna de consulta],[cor para verdaeiro],[cor para falso][/txt-color]
ex:
ColoreLinhas MSFlexgrid1, [Ô]sim[Ô], 2, vbBlue, vbRed
acim a função verificará se a coluna 2 possui a palavra [Ô]sim[Ô], se possuir pinta a linha de azul, caso contrario pinta a linha de vermelho.
bom esta função pode ser adaptada para ser mais gererica ainda, basta vc ver suas necessidades e te ajudo com as alterações.
  MARCELO-TREZE Perfeito era isso mesmo que eu precisava!

valeu,
uma pergunta antes de encerrar o topico, vc tem msn para passar pra mim?
                    treze-vb@hotmail.com
                
            
                    valeu ;]
                
            
                        Tópico encerrado , respostas não são mais permitidas
                    
                


