COLORIR LINHAS NO MSHFLEXGRID

LCSD 25/11/2006 14:08:13
#186236
Pessoal, como disse no tópico anterior, ainda não havia trabalhado com mshflexgrid, agora estou trocando todos os dgrid por mshflexgrid e na medida q vou trocando as duvidas vão surgindo, pesso a ajuda de vc para essa alteração.....

é o seguinte....

como faço para colorir somente as linhas onde o resultado de uma coluna eh x
por exemplo

tentei o seguinte mas naum tive sucesso

      With Grid1
For i = 0 To .Rows - 1
if .TextMatrix(i, 8) = "Sim" then
.forecolor = 255
end if
Next i
End With


ae do jeito q fiz ele coloriu todas.....rsrsrsrs


USUARIO.EXCLUIDOS 25/11/2006 14:31:50
#186238
Amigo não entendi a parte que vc diz: "onde o resultado é x"

Mas acho que isso vai te ajudar, pelo menos é assim que eu uso.

Cole no form onde está o flexgrid.

Sub FlexCores(lCorPar As Long, lCorImpar As Long)
Dim iLinha As Integer
Nome_do_Felxgrid.FillStyle = flexFillRepeat
For iLinha = 1 To Nome_do_Felxgrid.Rows - 1
With Nome_do_Felxgrid
.Row = iLinha
If EImpar(iLinha) Then 'Se a linha for impar:
'Seleciona a partir da zero coluna
.Col = 0
'Seleciona até a última coluna
.ColSel = .Cols - 1
'Aplica a cor
.CellBackColor = lCorImpar
Else 'Se a linha for par:
'Seleciona a partir da primeira coluna
.Col = 1
'Seleciona até a última coluna
.ColSel = .Cols - 1
'Aplica a cor
.CellBackColor = lCorPar
End If
End With
Next
Nome_do_Felxgrid.FillStyle = flexFillSingle
End Sub



'cores do flexgrid
Function EImpar(ByVal iNum As Long) As Boolean
'Verifica se o número é impar
'Se for impar a função retorna True.
'Se for par a função retorna False.
EImpar = (iNum Mod 2)
End Function


Para chamar a função use:
'Cores zebradas do flexgrid
FlexCores &HFFFFFF, &HC0FFFF 'branco e amarelo, pode mudar

Espero que tenha ajudado.
MeNuDo
Gentileza encerrar o tópico!

LCSD 25/11/2006 14:44:09
#186240
Obrigado Menudo...., mas isso ae ja esta ok....

oque quero eh que

se na linha 5 a coluna gravado for = "sim"
deixa as letras vermelha
caso contrario
deixa com esta

USUARIO.EXCLUIDOS 25/11/2006 15:48:41
#186246
'Vc pode escolhar a linha no caso se for na linha 5:
if Grid1.row = 5 then
'ecolha a coluna que vc quiser no caso eu coloquei linha 5 e coluna 0
if .TextMatrix(5,0) = "Sim" then
Grid1.forecolor = 255
end id
end if
LCSD 25/11/2006 16:29:25
#186248
Lucas, essa tentativa eu tbem ja tinha feito, mas naum da certo.

Acho q naum estaum entendendo.

imagine um flex assim.

cod data pago
1 10/11 sim
2 10/11 sim
3 10/11 não
4 10/11 sim
5 10/11 sim

Ele já está zebrado.

oque eu quero eh que as linhas cuja coluna for = "sim" fique com as letras em vermelho.


é isso.


USUARIO.EXCLUIDOS 25/11/2006 17:42:45
#186251
Resposta escolhida
Tenta assim cara...

      With Grid1
For i = 0 To .Rows - 1
if .TextMatrix(i, 8) = "Sim" then
.Row = i
for j = 1 to .Cols
.col = j
.CellForeColor = 255
Next
end if
Next i
End With

LCSD 25/11/2006 18:05:57
#186255
Ae MarcelhoHF, é isso mesmo ...deu certo......BRIGADUUUU


Tópico encerrado , respostas não são mais permitidas