Alternar el color de filas en un RecordSet

Cuando se realiza un listado de una base de datos, siempre hay que buscar que el mismo sea vistoso y fácil de leer, una de las formas más comunes de realizarlo es alternando los colores de las filas del listado, quedando de una manera similar a la siguiente:

Nombre Apellido
1 Marcelo Gutierrez
2 Gonzalo Martínez
3 Fabian López
4 Federico Klem

Para realizarlo, sólo se debe utilizar las siguientes líneas dentro del recordset:

if colorfila = 0 then
        color= "#FFFFFF"
colorfila=1
else
        color="#F45443"
        colorfila=0
end if

El funcionamiento es realmente sencillo, se trata de una variable (colorfila) que contendrá un 0 o 1 como valor, si es igual a 1 va a guardar un color en la variable color, y lo mismo en caso de que el valor sea 0. Luego se cambia el valor de colorfila por el contrario, para que al iniciar nuevamente el recordset, el valor sea el opuesto y se guarde el otro color.

Ejemplo de recorset alternado

Vamos a tomar como base el listado que figura arriba:

<%
‘Abre la conexión con la base de datos a través de una conexión ODBC
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "conexión"

‘Ejecuta un sentencia SQL de consulta
sql = "SELECT * FROM Personas ORDER BY id"
Set result = con.Execute(sql)

‘Recorre todas las filas del resultado
Do While Not result.EOF

if colorfila = 0 then
    color= "#DEDEBE"
    colorfila=1
else
    color="#F0F0F0"
    colorfila=0
end if

‘Imprimimos el registro con el bgcolor
response.write "<tr><td width=’50′ bgcolor=’"&color&"’><font face=’Arial’ size=’2′>"&result("id")&"</font></td><td width=’100′ bgcolor=’"&color&"’><font face=’Arial’ size=’2′>"&result("nombre")&"</font></td><td width=’100′ bgcolor=’"&color&"’<font face=’Arial’ size="2">"&result("apellido")&"</font></td></tr>"

‘Pasa a la siguiente fila
result.MoveNext
Loop

‘Cerramos las conexiones y el recordset
result.Close
Set result = Nothing
con.Close
Set con = Nothing
%>

Listo! Así tendremos como resultado, un listado muy atractivo y profesional.

Deja un comentario

  • seba64

    donde se incrementa colorfila?