Cambio de color en datos, durante ejecución

Buen día

Como puedo cambiar de color de los valores en las filas de los cuadros, sabiendo que el color puede variar al depender de un valor ?
por ejemplo

if ($valor < 3) color del valor en el cuadro ROJO
else color del valor en el cuadro VERDE

Gracias.

Hola Jhon,

para poder hacer eso te recomendaria que agregaras un par de clases CSS que contengan los colores especificos para texto/fondo, luego en una subclase del cuadro vas agregando una clase o la otra dependiendo del valor.

Saludos

Ingeniero, la verdad no tengo los conocimientos para los CSS, me ayudaría mucho si existe algún ejemplo por ahí que me oriente.

Mi idea es que por JS podría aplicar un tag y pergarlo al valor ?

Mil Gracias

Buenas…

te cuento que yo hice algo por el estilo, en este caso el cuadro se llenaba desde una consulta SQL, para la columna en cuestión tilde, en el cuadro, la opción “permite html” y luego desde la consulta SQL retornaba el valor “envuelto” en el HTML que le cambiaba el color, para el caso solo rojo. Algo como

select
   ...,
   case when ... then valor else '<span style="color:#FF0000"><strong>' || valor || '</strong></span>' end as valor
...

No se si es muy elegante, pero funciona…

Saludos

José

José, muchas gracias, aplique lo que dices en el cuadro tildar HTML y en el código modificó antes de cargar el cuadro, pero a demás la propiedad FORMATEO debe ser SIN CAMBIOS, finalmente queda :

   $datos = consultar_fuente($sql);

   $fila = 0;
   foreach ($datos as $caracteristicas){
    foreach ($caracteristicas as $caracteristica => $value_caracteristica){
      if ($caracteristica == 'logro_alcanzado')	$logro_alcanzado = $value_caracteristica;
    }
    if ($logro_alcanzado > 90) $datos[$fila]['logro_alcanzado'] = '<font color=blue>'.$logro_alcanzado.'</font>';
    $fila++;
   }
   //print_r($datos);
  return $datos;

Mil Gracias

Hola Jhon,

tene en cuenta que lo que le agregues al valor luego va a aparecer en las exportaciones xml, pdf, excel que hagas del cuadro.

Saludos

Aja, ahí se me va a presentar un problema para exportar a excel, como puedo mantener la visualización lograda, pero al momento de imprimir quitar esos tags

Gracias

Retomo este tema, lo que quiero hacer es que según una condición, se muestre un dato de un color o de otro, todo esto en cuadro.
Entonces lo que hice hasta el momento fue seguir lo sugerido por Richard

para poder hacer eso te recomendaria que agregaras un par de clases CSS que contengan los colores especificos para texto/fondo, luego en una subclase del cuadro vas agregando una clase o la otra dependiendo del valor.

Es decir que agregué una clase en el archivo “…/mi_proyecto/www/toba.css” y lo que me faltaría hacer es extender el cuadro en cuestión pero nose qué método debería ocupar y cómo lo debería definir.
El problema que se me presentó fue que al exportar a excel o a pdf el cuadro me exporta los datos, obviamente, con los tags html.
Si me pueden dar una mano les agradecería.

Saludos.
Alejandro.

Hola Alejandro,

dependiendo de la version de Toba que tengas deberias redefinir el metodo html_cuadro o generar_layout_fila. Toma en cuenta que te conviene directamente incluir la clase CSS en el tag que representa la celda y no hacerle un ‘’ por ej: al valor, ya que el resto de las exportaciones no interpretan codigo HTML por lo tanto te van a quedar los tags como parte del valor.

Otro tema es que para incluir los tags en el valor, tenes que hacer que dicha columna permita visualizar HTML, cosa que no recomendamos para evitar ataques XSS.
Si son literales lo que se muestra, no hay tanto drama… pero cuando se trata de valores ingresados por el usuario siempre esta la posibilidad.

Saludos

Hola Richard, la versión de Toba que estoy usando en la 2.0. Lo raro es que en la generación de código no me propone ninguno de los dos métodos que mencionas.
Con respecto a los ataques XSS, son literales los datos que se muestran.

Saludos.

Hola Alejandro,

si estas en la version 2.0 entonces tenes que redefinir el metodo html_cuadro para poder sacar el css, la generacion de codigo no te lo propone porque son metodos protegidos del cuadro, no son ventanas de extension del mismo.

Saludos