EFEITO ZEBRA NO MSFLEXGRID

MFLAVIO 16/11/2009 12:15:37
#327833
Ola gente tudo bem

eu to precisando criar o efeito Zebra em um MSFLEXGRID

so que eu carrego o MSFlexGrid assim

set MSFLEXGRID.datasorce= variavel ADO com o recordset carregado

o grid carrega direitinho so que eu não consigo criar a Zebra sabe uma linha do crid branca e a outra azuzinho e assim por diante
MARCELO.TREZE 16/11/2009 12:20:58
#327834
eu uso esta função em um módulo

[ô]função para zebrar o 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

Public Sub ZebraFlex(ByVal flx As MSFlexGridLib.MSFlexGrid, Optional ByVal CorZ As Long = vbInfoBackground)
Dim i As Integer, j As Integer, ImpPar As Integer
With flx
[ô]Pega resto da divisão das linhas fixas por 2,
[ô]isto servirá para iniciar o zebramento a partir da segunda linha após
[ô]a última linha fixa
ImpPar = (.FixedRows Mod 2)
[ô]Não redesenha o grid para agilizar o processo
.Redraw = False
[ô]Loop para ler todas as linhas menos as fixas
For i = .FixedRows To .Rows - 1
[ô]Seleciona a linha
.Row = i
[ô]Loop para ler todas as colunas do grid menos as fixas
For j = .FixedCols To .Cols - 1
[ô]Seleciona a coluna
.Col = j
[ô]Se o resto da divisão do nr da linha por 2 for diferente do ImpPar, então
[ô]pinta com a cor informada, se não pinta com a cor de fundo do grid
If (i Mod 2) <> ImpPar Then .CellBackColor = CorZ _
Else .CellBackColor = .BackColor
Next j
Next i
[ô]Redesenha o grid
.Redraw = True
End With
End Sub


para usar no seu form chame assim

ZebraFlex grid, vbCyan


onde grid é o nome do flexgrid e vbcyan a cor
FBUR 20/11/2009 17:25:54
#328287
Resposta escolhida
ou assim:


Private Sub Command1_Click()

Dim linha As Integer
Dim coluna As Integer

For linha = 2 To grid.Rows - 1 Step 2

grid.Row = linha

For coluna = 1 To grid.Cols - 1

grid.Col = coluna
grid.CellBackColor = vbRed [ô]altere para a cor desejada.

Next coluna

Next linha

End Sub

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