Lo habitual es crear una clase específica para las celdas de fondo gris. El fondo blanco de las demás puedes definirlo en la tabla o de manera general para todas las celdas. Igual para el encabezado. Puedes usar la etiqueta específica de encabezados <th> o un <tr> con una clase para definir estilos.
Si tienes más de un tipo de tabla en la misma página puede incluirse un nombre para ella, si no, no sería necesario.
Código CSS:
Ver original#ejemplo th {
/*estilos para el encabezado*/
}
#ejemplo tr {
/* estilo para celdas de fondo blanco */
background:white;
}
#ejemplo tr.gris {
/*estilo para celdas de fondo gris */
background:grey;
}
Debes usar una variable para ir alternando los <tr> con estilo gris y los que no necesitan estilo cuando el contenido se genera automáticamente.