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

Por Dios, apiadaros de mi: Cambiar color en fila dinámica

Estas en el tema de Por Dios, apiadaros de mi: Cambiar color en fila dinámica en el foro de ASP Clásico en Foros del Web. Ayer estuve hasta las 4 de la mañana rezando a San Peleponosio para que me iluminara, pero deberia de estar ocupado, no me hizo ni ...
  #1 (permalink)  
Antiguo 06/07/2004, 01:25
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 20 años, 6 meses
Puntos: 1
Por Dios, apiadaros de mi: Cambiar color en fila dinámica

Ayer estuve hasta las 4 de la mañana rezando a San Peleponosio para que me iluminara, pero deberia de estar ocupado, no me hizo ni caso ...

Bueno, este es mi problema y gratificaré con un viaje a Mexico para 2 personas con todos los gastos pagados a quien me ayude:


1.- Extraigo una serie de datos de una BD (Fácil hasta ahora)
2.- Los presento en una tabla (Esto esta chupao)
3.- Estos datos se pueden ordenar haciendo cilck en cada cabezera, de esta forma si el usuario desea ordanarlos por categoría, por orden alfabético según el título, por fecha, etc... lo puede hacer, simplemente el click es un link que arrastra una variable (Sigue siendo fácil, ya lo sé)

4.- EL MEOLLO: Mi problema es que quisiera que cada fila de la tabla se mostrará de un color según la categoría a la que pertenece el resultado.
Me experiplico: Imaginaos que se muestran 10 resultados, 3 de ellos pertenecen a la categoría A (Las categorias tambien son dinámicas), 2 a la categoría B y 5 a la categoría C.
Entonces lo que necesito es que todos los que sean de la categoria A vayan en fondo rojo, los de B en verde y los de C en color caquita por ejemplo...

Pero que cuando un usuario ordene por ejemplo por fechas, aunque los resultados se muestren salteados en cuanto a que ya no estan ordenados por categorias, mantengan el color del fondo según la categoría a la que pertenecen...

Joder, ya me se ha hecho la picha un lio, si alguien me ha entendio y puede explicarme como resolverlo de forma sencilla y con algún código que me dé pistas le quedaré eternamente agradecido y juro que si en mi próxima reencarnación me convierto en tigre, no me lo comeré...

Gracias compadres!!
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #2 (permalink)  
Antiguo 06/07/2004, 03:31
 
Fecha de Ingreso: julio-2004
Mensajes: 76
Antigüedad: 19 años, 11 meses
Puntos: 0
Pon un condicional antes de pintar la linea

If Categoria = A then
Pinta la linea en color caquita
elseif catgoria = B
pinta la linea en color rojo
end if


...porsupuesto que debes escribir la sentancia de la manera correcta.
__________________
Ama Martire
________________________
Hospedaje Windows & Unix Multidominio

"Si no puedes resolverlo.....evitalo"
  #3 (permalink)  
Antiguo 06/07/2004, 03:49
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 20 años, 6 meses
Puntos: 1
Gracias, el problema es el que te comento en el post anterior, las categorias son variables, hoy se pueden llamar de una manera y mañana de otra, además constantemente se estan creando categorias nuevas.
Por esta razón no puedo controlar los colores mediante una condicional simple, no sé si mediante arrays.... Estoy echo un lio...
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #4 (permalink)  
Antiguo 06/07/2004, 04:23
 
Fecha de Ingreso: julio-2004
Mensajes: 76
Antigüedad: 19 años, 11 meses
Puntos: 0
Usar array es una soluciòn.
__________________
Ama Martire
________________________
Hospedaje Windows & Unix Multidominio

"Si no puedes resolverlo.....evitalo"
  #5 (permalink)  
Antiguo 06/07/2004, 09:13
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Crea una tabla categorias con su clave, descripcion y color. Luego, antes de cualquier cosa haces una consulta de esta tabla, llenas una matriz de n (num. categorias) filas y 3 columnas y listo. Implemetas algo como server-68 te lo plantea.

Saludos
  #6 (permalink)  
Antiguo 06/07/2004, 09:21
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 20 años, 6 meses
Puntos: 1
Myakire, ¿Puedes darme alguna pista más? no me queda muy claro como hacer esto que comentas.
La tabla de categorías ya está creada, entonces me comentas que haga una consulta, OK, hasta ahí no ha pega, pero con lo de la matriz ya me he echo un lío (No sé que es una matriz en ASP, o a lo mejor lo conozco con otro nombre), y luego támpoco me aclaro mucho con lo de las 3 columnas...

Disculparás mi ignorancia, pero el que pregunta una vez queda como tonto una vez, el que no pregunta se queda tonto para toda su vida... Y eso no, por las barbas de San Prepucio, antes me la corto...
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #7 (permalink)  
Antiguo 06/07/2004, 09:30
 
Fecha de Ingreso: julio-2004
Mensajes: 76
Antigüedad: 19 años, 11 meses
Puntos: 0
Otro metodo:

1.Crea una tabla "colordecategoria" con 2 columnas: COLOR y CATEGORIA
2. inserta unos 20 o 30 colores que quieras utilizar en orden de preferencia en la primera columna.
3. Haz un select distinct a tu tabla y por cada categoria haz un update a la tabla colordecategoria, de ese modo, por ejemplo, si en ese momento tienes 3 categorias tendras:

COLOR 1 CATEGORIA 1
COLOR 2 CATEGORIA 2
COLOR 3 CATEGORIA 3
COLOR 4 nada
...
COLOR 20 nada

4. Vuelve a hacer un select a tu tabla y relaciona la categoria con su color
5. Pinta la linea
6. Cuando acabes borra las categorias de la tabla colordecategoria

Y Listo.
__________________
Ama Martire
________________________
Hospedaje Windows & Unix Multidominio

"Si no puedes resolverlo.....evitalo"
  #8 (permalink)  
Antiguo 06/07/2004, 09:35
 
Fecha de Ingreso: junio-2004
Mensajes: 2
Antigüedad: 20 años
Puntos: 0
primero que nada deberias decir como haces para mostrar los datos de diferentes formas, pues me imagino que los tengas en un recordset o algo por el estilo, lo de los colores debe ir en funcion de como haces el ordenamento de los datos, creo que ahi esta el problema a resolver....pues sabiendo como se ordenan podria implementarse algo....si aun no has resulto el problema me escribes a esta direccion : [email protected] y me dices como implementaste los ordenamientos y te podre dar una idea si es que se me ilumina el coco jejee...pues asi por asi nada, ni lo de los array pues seria un gasto de memoria para nada.....
  #9 (permalink)  
Antiguo 06/07/2004, 09:45
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
si ya tenés una tabla con las categorías, simplemente agregá un campo llamado "color" en donde especificás el color, en hexadecimal, de dicha categoría.
Luego, al momento de mostrar los resultados, "pintás" el color con el dato del campo "color" de la tabla categorías:

Código:
<table>
<% do while not rs.eof %>
<tr bgcolor="#<% = rs("color") %>"><td><% = rs("categoria") %></td></tr>
<% rs.movenext : loop %>
</table>
  #10 (permalink)  
Antiguo 06/07/2004, 10:04
 
Fecha de Ingreso: julio-2004
Mensajes: 76
Antigüedad: 19 años, 11 meses
Puntos: 0
eso podria ser...pero me pareciò entender que los datos eran extraidos mediante un script desde la DB, En ese caso no existe una columna COLOR que por consiguiente debe agregarse en algun momento....antes de pintar la linea.

Cita:
Iniciado por dazuaga
si ya tenés una tabla con las categorías, simplemente agregá un campo llamado "color" en donde especificás el color, en hexadecimal, de dicha categoría.
Luego, al momento de mostrar los resultados, "pintás" el color con el dato del campo "color" de la tabla categorías:

Código:
<table>
<% do while not rs.eof %>
<tr bgcolor="#<% = rs("color") %>"><td><% = rs("categoria") %></td></tr>
<% rs.movenext : loop %>
</table>
__________________
Ama Martire
________________________
Hospedaje Windows & Unix Multidominio

"Si no puedes resolverlo.....evitalo"
  #11 (permalink)  
Antiguo 06/07/2004, 11:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 20 años, 6 meses
Puntos: 1
Bueno, gracias a todos, cuando tengais ganas de casaros me lo decis, para presentaros a mi hermana, tiene 87 años y es virgen...

Creo que efectivamente, la solución puede ser la de crear un campo llamado color, y que cuando se inserte el registro, se defina el color.

Gracias de nuevo
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #12 (permalink)  
Antiguo 06/07/2004, 12:10
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
bueno, bueno.. pero yo estoy esperando la invitación para viajar a México con todos los gastos pagos (o al menos que no me comas cuando reencarnes en tigre, pero lo de tu hermana... paso )

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 19:56.