Foros del Web » Programando para Internet » ASP Clásico »

Cambiar de color Filas de una consulta

Estas en el tema de Cambiar de color Filas de una consulta en el foro de ASP Clásico en Foros del Web. Buenas tardes, Este código lo utilizo para pintar con tres colores distintos las finas de una tabla según sea el valor del recorset. Se me ...
  #1 (permalink)  
Antiguo 16/12/2009, 11:35
Avatar de SOVEREK  
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 16 años, 9 meses
Puntos: 0
Cambiar de color Filas de una consulta

Buenas tardes,
Este código lo utilizo para pintar con tres colores distintos las finas de una tabla según sea el valor del recorset.
Se me plantea un problema y necestio modificar esto, pintando los colores de la tabla de la siguiente forma:
Utilizaría dos colores Azul y Blanco. Mientras el valor del rs(1) sea el mismo, que pinte todas esas filas de azul. Cuando el valor del rs(1) cambie, que cambie el color a blanco, y que continúe pintando las filas de blanco hasta que el valor del rs(1) vuelva a cambiar. Cuando esto suceda utilizaría de nuevo el color azul, y así sucesivamente.
Me podéis echar una mano por favor. En el ejemplo que pongo, conozco los posibles valores de rs(1) que serían 3, pero este cambio es porque los valores de rs(1) pasarían de 3 a casi 200..

Gracias por adelantado.
Código asp:
Ver original
  1. <%do until rs.eof
  2.  
  3. colorcont = rs(1).value
  4.  
  5.      if colorcont="Escritos" then
  6.           ccolor="#FFFF66"
  7.      end if
  8.  
  9.      if colorcont="Hojas" then
  10.           ccolor="#66CCFF"
  11.      end if
  12.      
  13.      if colorcont="Otros" then
  14.           ccolor="#FAFAFA"
  15.      end if%>
  16.  
  17. <tr bgcolor="<%=ccolor%>">                                        
  18. <td align="center" style="font-size:11px">&nbsp;<%=rs(0)%></td>
  19. <td align="center" style="font-size:11px">&nbsp;<%=rs("tipo")%></td>
  20. <td align="center">&nbsp;<% if rs("1") <> 0 then%><%=rs("1")%><% end if %></td>
  21. <td align="center">&nbsp;<% if rs("2") <> 0 then%><%=rs("2")%><% end if %></td>
  22. <td align="center">&nbsp;<% if rs("3") <> 0 then%><%=rs("3")%><% end if %></td>
  23. <td align="center">&nbsp;<% if rs("4") <> 0 then%><%=rs("4")%><% end if %></td>
  24. <td align="center">&nbsp;<% if rs("5") <> 0 then%><%=rs("5")%><% end if %></td>
  25. <td align="center">&nbsp;<% if rs("6") <> 0 then%><%=rs("6")%><% end if %></td>
  26. <td align="center">&nbsp;<% if rs("7") <> 0 then%><%=rs("7")%><% end if %></td>
  27. <td align="center">&nbsp;<% if rs("8") <> 0 then%><%=rs("8")%><% end if %></td>
  28. <td align="center">&nbsp;<% if rs("9") <> 0 then%><%=rs("9")%><% end if %></td>
  29. <td align="center">&nbsp;<% if rs("10") <> 0 then%><%=rs("10")%><% end if %></td>
  30. <td align="center">&nbsp;<% if rs("11") <> 0 then%><%=rs("11")%><% end if %></td>
  31. <td align="center">&nbsp;<% if rs("12") <> 0 then%><%=rs("12")%><% end if %></td>
  32. <td align="center">&nbsp;<% if rs("13") <> 0 then%><%=rs("13")%><% end if %></td>
  33. <td align="center">&nbsp;<% if rs("14") <> 0 then%><%=rs("14")%><% end if %></td>
  34. <td align="center">&nbsp;<% if rs("15") <> 0 then%><%=rs("15")%><% end if %></td>
  35. <td align="center">&nbsp;<% if rs("16") <> 0 then%><%=rs("16")%><% end if %></td>
  36. <td align="center">&nbsp;<% if rs("17") <> 0 then%><%=rs("17")%><% end if %></td>
  37. <td align="center">&nbsp;<% if rs("18") <> 0 then%><%=rs("18")%><% end if %></td>
  38. <td align="center">&nbsp;<% if rs("19") <> 0 then%><%=rs("19")%><% end if %></td>
  39. <td align="center">&nbsp;<% if rs("20") <> 0 then%><%=rs("20")%><% end if %></td>
  40. <td align="center">&nbsp;<% if rs("21") <> 0 then%><%=rs("21")%><% end if %></td>
  41. <td align="center">&nbsp;<% if rs("22") <> 0 then%><%=rs("22")%><% end if %></td>
  42. <td align="center">&nbsp;<% if rs("23") <> 0 then%><%=rs("23")%><% end if %></td>
  43. <td align="center">&nbsp;<% if rs("24") <> 0 then%><%=rs("24")%><% end if %></td>
  44. <td align="center">&nbsp;<% if rs("25") <> 0 then%><%=rs("25")%><% end if %></td>
  45. <td align="center">&nbsp;<% if rs("26") <> 0 then%><%=rs("26")%><% end if %></td>
  46. <td align="center">&nbsp;<% if rs("27") <> 0 then%><%=rs("27")%><% end if %></td>
  47. <td align="center">&nbsp;<% if rs("28") <> 0 then%><%=rs("28")%><% end if %></td>
  48. <td align="center">&nbsp;<% if rs("29") <> 0 then%><%=rs("29")%><% end if %></td>
  49. <td align="center">&nbsp;<% if rs("30") <> 0 then%><%=rs("30")%><% end if %></td>
  50. <td align="center">&nbsp;<% if rs("31") <> 0 then%><%=rs("31")%><% end if %></td>
  51.  
  52. </tr>
  53.  
  54. <%
  55. rs.movenext
  56. loop
  57.  
  58. %>
  59. </table>

Última edición por SOVEREK; 16/12/2009 a las 16:21 Razón: ampliar información
  #2 (permalink)  
Antiguo 17/12/2009, 05:06
Avatar de Valery-Net  
Fecha de Ingreso: agosto-2008
Mensajes: 694
Antigüedad: 16 años, 7 meses
Puntos: 12
Respuesta: Cambiar de color Filas de una consulta

Te sugiero que lo hagas con una hoja de estilos y cada fila le asignas una clase de la hoja de estilos dependiendo el color que requieras
  #3 (permalink)  
Antiguo 17/12/2009, 05:07
Avatar de Wasper  
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 18 años, 9 meses
Puntos: 41
Respuesta: Cambiar de color Filas de una consulta

¿Entonces lo que necesitas es poner un color a cada estado? Pero por supuesto no quieres poner 200 condiciones, ¿no?

Confirmame si es eso, de ser asi,

¿que sentido tendria colorear tanto una tabla?
¿Los colores estan decididos? (Esta es importante)

Saludos, Jose
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras

Última edición por Wasper; 04/02/2010 a las 09:13
  #4 (permalink)  
Antiguo 17/12/2009, 09:40
Avatar de SOVEREK  
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Cambiar de color Filas de una consulta

Buenas tardes,

Ante todo gracias por vuestro tiempo.

En la tabla se mostraban, entre otros datos, nombres de usuarios. En principio no sé cuantas veces se retipe el nombre del mismo usuario en la tabla, y para diferenciar de forma visual un usuario de otro, se me ocurrió pintar todos los registros con el mismo nombre de usuario de un mismo color, cuando el nombre de usuario cambie, cambiar tb el color y mantenerlo así hasta que el nombre del usuario vuelva a cambiar. He logrado esto con este código:
Código ASP:
Ver original
  1. <%
  2.     color1= "#99CFDB"
  3.     color2="#FAFAFA"   
  4.    
  5.         colorcont_act=rs(0).value
  6.         colorcont = rs(0).value
  7.        
  8.     ccolor=color1
  9.    
  10.         do until rs.eof
  11.        
  12.     colorcont_act=rs(0).value  
  13.    
  14.     if colorcont_act<>colorcont then
  15.         colorcont = rs(0).value
  16.             if ccolor=color1 then
  17.                 ccolor=color2
  18.                 else
  19.                 ccolor=color1
  20.             end  if
  21.     end if
  22.    
  23. %>
  24.  
  25. <tr bgcolor="<%=ccolor%>">                                 
  26. <td align="center" style="font-size:11px">&nbsp;<%=rs(0)%></td>
  27. <td align="center" style="font-size:11px">&nbsp;<%=rs("tipo")%></td>
  28. <td align="center">&nbsp;<% if rs("1") <> 0 then%><%=rs("1")%><% end if %></td>
  29. <td align="center">&nbsp;<% if rs("2") <> 0 then%><%=rs("2")%><% end if %></td>
  30. <td align="center">&nbsp;<% if rs("3") <> 0 then%><%=rs("3")%><% end if %></td>
  31. </tr>

De nuevo gracias a todos los foreros, un saludo

Última edición por SOVEREK; 17/12/2009 a las 09:42 Razón: ampliar datos
  #5 (permalink)  
Antiguo 17/12/2009, 14:05
Avatar de Wasper  
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 18 años, 9 meses
Puntos: 41
Respuesta: Cambiar de color Filas de una consulta

Eso que haces esta bien, es mas estetico, ya que pones 1 fila de un color y y otra fila de otro color, jugando con 2 colores.

Aunque si lo que quieres es 1 color por cada nombre de usuario, create una funcion que convierta los nombres de usuarios a HEX. Es decir de ASCII a HEX, generas una string que contenga #CODHEX y la funcion te la devolvera, utilizas ese color que ha sido generado por ese nombre.
Conclusion si Manuel = 4d:61:6e:75:65:6c puedes generar un color con #4d616e asi todos los Manuel seran de ese mismo color, te ahorraras dolores de cabeza.

Saludos, Jose
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras
  #6 (permalink)  
Antiguo 18/12/2009, 12:04
Avatar de SOVEREK  
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Cambiar de color Filas de una consulta

Cita:
Iniciado por Wasper Ver Mensaje
Eso que haces esta bien, es mas estetico, ya que pones 1 fila de un color y y otra fila de otro color, jugando con 2 colores.

Aunque si lo que quieres es 1 color por cada nombre de usuario, create una funcion que convierta los nombres de usuarios a HEX. Es decir de ASCII a HEX, generas una string que contenga #CODHEX y la funcion te la devolvera, utilizas ese color que ha sido generado por ese nombre.
Conclusion si Manuel = 4d:61:6e:75:65:6c puedes generar un color con #4d616e asi todos los Manuel seran de ese mismo color, te ahorraras dolores de cabeza.

Saludos, Jose
Muchas gracias

Es una muy buena opción. Siempre aprendiendo en este foro.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:45.