Hola amigos una ayuda
como puedo pintar las filas de un MSHFlexGrid en vb6 validando una base de datos
por ejemplo pintar todos lo que tengan un valor a 1 digamos
y que todas la filas se pinten solo los que tengan un uno.
ademas me gustaria saber como pintar filas de MSHFlexGrid cuando voy pasando el mouse. GRACIAS amigos un saludos.
El titulo debería ser mas descriptivo. :¬¬
Hay mucho material en google sobre el tema. (http://"http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/214-msflexgrid-color-celda.htm")
With flex
For i = 1 To flex.Rows - 1
For j = 1 To flex.Cols - 1
flex.Row = i
flex.Col = j
If .Text = "1" Then
flex.CellBackColor = &HC0FFC0
Else
'flex.CellBackColor = &H80FF80
End If
Next j
Next i
End With
Este codigo estoy utilizando pero no me pinta toda la fila solo me pinta una celda como hacer para que pinte todas las filas que equivalen a uno...Gracias
(http://img831.imageshack.us/img831/3098/dibujodnf.jpg) esta es la imagen solo me selecciona el registro que vale SOS, quiero que me seleccione toda la fila que vale SOS.
este es el codigo, utilizo 2 timer para parpadear la fila que vale SOS
Private Sub Timer4_Timer()
Dim i
Dim j
For i = 1 To flex.Rows - 1
For j = 1 To flex.Cols - 1
flex.Row = i
flex.Col = j
If flex.Text = "SOS" Then
flex.CellBackColor = vbRed
End If
Next j
Next i
Timer4.Enabled = False
Timer5.Enabled = True
Timer2.Enabled = True
End Sub
Private Sub Timer5_Timer()
For s = 1 To flex.Cols - 1
For c = 1 To flex.Rows - 1
flex.Row = c
flex.Col = s
If flex.Text = "SOS" Then
flex.CellBackColor = vbYellow
End If
Next c
Next s
Timer4.Enabled = True
Timer5.Enabled = False
Timer2.Enabled = True
End Sub
bueno vamos a darte una manito :rolleyes:
podrías hacerlo así.
Dim i As Long
'MsgBox (flex.Rows) numero de filas
'MsgBox flex.TextMatrix(1, 2) tipo matriz
For i = 1 To flex.Rows - 1
Debug.Print flex.TextMatrix(i, 2) 'leo siempre en la columna 2 y respectivamente con I
If flex.TextMatrix(i, 2) = "SOS" Then ' si quieres pintar toda la fila solo haces el inverso.
flex.Col = 2
flex.Row = i
flex.CellBackColor = vbRed
End If
Next i
saludos
gracias amigo, saludos para ti gracias por tu ayuda.