Colorear filas en grid
Publicado por Omar (56 intervenciones) el 21/07/2009 20:26:58
Que tal foro. Tengo una pantalla en la cual muestro unos reportes que tienen fecha de vencimiento y fecha de alarma, los muestro sin problemas, pero necesito colorear la fila en la cual el reporte su fecha de alarma ya halla pasado la fecha actual.
Este es mi codigo:
Private Sub LlenarGrid()
Cadena = "SELECT * FROM (MesaControl INNER JOIN Clientes ON MesaControl.iDClienteMesaControl=Clientes.iDCliente) INNER JOIN Sucursales ON MesaControl.iDSucursalMesaControl=Sucursales.iDSucursal WHERE StatusMesaControl='Abierto' ORDER BY FechaLimiteMesaControl ASC"
AbrirDAO
Set Dr = BaseDatos.OpenRecordset(Cadena)
VarFecha1 = Format(TxtFecha.Text, "dd/MM/yyyy HH:mm:ss")
VarFecha2 = Format(Dr!FechaAlarmaMesaControl, "dd/MM/yyyy HH:mm:ss")
If Dr.EOF <> Empty Then
Exit Sub
End If
Do While Not Dr.EOF
If VarFecha1 >= VarFecha2 Then
MSFlexGrid.BackColor = &HFF&
Else
MSFlexGrid.BackColor = &H80000005
End If
MSFlexGrid.AddItem vbTab & Trim(Dr!NombreCliente) & vbTab & Trim(Dr!NombreSuc) & vbTab & Trim(Dr!Folio) & vbTab & Trim(Dr!FechaMesaControl) & vbTab & Trim(Dr!ProblemaReportadoMesaControl) & vbTab & Trim(Dr!PrioridadMesaControl) & vbTab & Trim(Dr!FechaAlarmaMesaControl) & vbTab & Trim(Dr!FechaLimiteMesaControl)
MSFlexGrid.TextMatrix(MSFlexGrid.Rows - 1, 0) = MSFlexGrid.Rows - 1
MSFlexGrid.ColAlignment(2) = 0
Dr.MoveNext
Loop
CerrarDAO
End Sub
Lo que hace es pintarme todo, o todo blanco o todo rojo.
De antemano mil gracias.
Saludos.
Este es mi codigo:
Private Sub LlenarGrid()
Cadena = "SELECT * FROM (MesaControl INNER JOIN Clientes ON MesaControl.iDClienteMesaControl=Clientes.iDCliente) INNER JOIN Sucursales ON MesaControl.iDSucursalMesaControl=Sucursales.iDSucursal WHERE StatusMesaControl='Abierto' ORDER BY FechaLimiteMesaControl ASC"
AbrirDAO
Set Dr = BaseDatos.OpenRecordset(Cadena)
VarFecha1 = Format(TxtFecha.Text, "dd/MM/yyyy HH:mm:ss")
VarFecha2 = Format(Dr!FechaAlarmaMesaControl, "dd/MM/yyyy HH:mm:ss")
If Dr.EOF <> Empty Then
Exit Sub
End If
Do While Not Dr.EOF
If VarFecha1 >= VarFecha2 Then
MSFlexGrid.BackColor = &HFF&
Else
MSFlexGrid.BackColor = &H80000005
End If
MSFlexGrid.AddItem vbTab & Trim(Dr!NombreCliente) & vbTab & Trim(Dr!NombreSuc) & vbTab & Trim(Dr!Folio) & vbTab & Trim(Dr!FechaMesaControl) & vbTab & Trim(Dr!ProblemaReportadoMesaControl) & vbTab & Trim(Dr!PrioridadMesaControl) & vbTab & Trim(Dr!FechaAlarmaMesaControl) & vbTab & Trim(Dr!FechaLimiteMesaControl)
MSFlexGrid.TextMatrix(MSFlexGrid.Rows - 1, 0) = MSFlexGrid.Rows - 1
MSFlexGrid.ColAlignment(2) = 0
Dr.MoveNext
Loop
CerrarDAO
End Sub
Lo que hace es pintarme todo, o todo blanco o todo rojo.
De antemano mil gracias.
Saludos.
Valora esta pregunta


0