Autor Tema: Como lograr un efecto negrita u otra forma en una linea de cuadro  (Leído 991 veces)

0 Usuarios y 1 Visitante están viendo este tema.

richard

  • Moderador Global
  • *****
  • Mensajes: 2647
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #15 : diciembre 05, 2017, 11:44:05 am »
Hola Gustavo,

gracias por compartir el código,  tendría que tener un boton de like el foro, asi te van agradeciendo.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

marianodica

  • Newbie
  • *
  • Mensajes: 9
    • Ver Perfil
    • Email
  • Sistema: SIU Toba
  • Utilizo algun sistéma del SIU: Sí
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #16 : mayo 21, 2019, 12:29:29 pm »
Hola!! estoy siguiendo los pasos que realizó Gustavo pero me encuentro con el siguiente error:

Argument 1 passed to toba_ei_cuadro_salida::__construct() must be an instance of toba_ei_cuadro, array given, called in /var/local/presupuesto/vendor/siu-toba/framework/php/nucleo/componentes/toba_constructor.php on line 77

No entiendo en qué momento estoy llamando al constructor o como  debo solucionarlo. Estoy siguiendo exactamente los mismos pasos. Desde ya muchas gracias. Saludos

escalantegc

  • Toba
  • *
  • Mensajes: 87
    • Ver Perfil
    • Email
  • Institución: UNaN
  • Nombre y apellido: Gustavo Escalante
  • Sistema: Siu Toba
  • Teléfono laboral: 3764857077
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #17 : mayo 22, 2019, 06:29:03 am »
Buen dia Mariano:
ese código lo escribí en toba 2.7, recién hice lo mismo en toba 3.1 y funciono correctamente.
Que versión de toba estas usando? podrías compartir el código que escribiste?
Saludos

marianodica

  • Newbie
  • *
  • Mensajes: 9
    • Ver Perfil
    • Email
  • Sistema: SIU Toba
  • Utilizo algun sistéma del SIU: Sí
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #18 : mayo 22, 2019, 09:34:58 am »
Buen día Gustavo!! muchas  gracias por la respuesta. Te adjunto los fragmentos del código.

El siguiente es el ci en el cual se encuentra el cuadro que queremos modificar

Código: [Seleccionar]
<?php

require_once('estilo/estilo_cuadro.php');

class 
ci_resultado extends presupuesto_ci
{
function conf__resultado(toba_ei_cuadro $cuadro)
{
$cuadro->set_datos($this->getResultadoEscenario()); //getResultadoEscenario obtiene los datos del cuadro
$cuadro->set_manejador_salida('html''estilo_cuadro');
}
}

?>

El siguiente es la nueva clase que por ahora el método html_cuadro está sin modificar

Código: [Seleccionar]
<?php
class estilo_cuadro extends toba_ei_cuadro_salida_html
{
    function 
html_cuadro(&$filas)
{
//Si existen cortes de control y el layout es tabular, el encabezado de la tabla ya se genero
if( ! $this->_cuadro->tabla_datos_es_general() ){
$this->html_cuadro_inicio();
}
//-- Se puede por api cambiar a que los titulos de las columnas se muestren antes que los cortes, en ese caso se evita hacerlo aqui
if (! $this->_cuadro->debe_mostrar_titulos_columnas_cc()) {
$this->html_cuadro_cabecera_columnas();
}
$par false;
$formateo $this->_cuadro->get_instancia_clase_formateo('html');
$layout_cant_columnas $this->_cuadro->get_layout_cant_columnas();
$i 0;
if (!is_null($layout_cant_columnas)) {
echo "<tr>";
}

$columnas $this->_cuadro->get_columnas();
$datos $this->_cuadro->get_datos();

$objeto_js $this->_cuadro->get_id_objeto_js();
$evt_multiples $this->_cuadro->get_eventos_multiples();

foreach($filas as $f)
{
if (!is_null($layout_cant_columnas) && ($i $layout_cant_columnas == 0)) {
$ancho floor(100 / (count($filas) / $layout_cant_columnas));
echo "<td><table class='ei-cuadro-agrupador-filas' width='$ancho%' >";
}
$estilo_fila $par 'ei-cuadro-celda-par' 'ei-cuadro-celda-impar';
$clave_fila $this->_cuadro->get_clave_fila($f);

//Recorro el array de datos para identificar en mi caso que fila excede el total_dispnible de 15
//Este dato no lo seteo en el cuadro pero si lo traigo desde mi consulta en el dao
//
$claves = array();
for ($i 0$i count($datos); $i++) 
{
if ($datos[$i]['total_disponible']>=15)
{
$claves[] = $i;
}   
}

//Una vez que tengo las claves de fila que debo pintar
// busco si la fila en la que estoy parado tengo q pintar y cambio el estilo 
if (in_array($clave_fila$claves)) 
{
$estilo_fila 'ei-cuadro-celda-roja';
}

//Genero el html de la fila, junto con sus eventos y vinculos
$this->generar_layout_fila($columnas$datos$f$clave_fila$evt_multiples$objeto_js$estilo_fila$formateo);
$par = !$par;
if (isset($layout_cant_columnas) && $i $layout_cant_columnas == $layout_cant_columnas-1) {
echo "</table></td>";
}
$i++;
}

if (isset($layout_cant_columnas)) {
echo "</tr>";
}
if( ! $this->_cuadro->tabla_datos_es_general() ){
$this->html_acumulador_usuario();
$this->html_cuadro_fin();
}
}
}

?>


Además desde el editor hacemos que el cuadro  extienda dicho archivo.

La versión del toba es 3.1.5

escalantegc

  • Toba
  • *
  • Mensajes: 87
    • Ver Perfil
    • Email
  • Institución: UNaN
  • Nombre y apellido: Gustavo Escalante
  • Sistema: Siu Toba
  • Teléfono laboral: 3764857077
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #19 : mayo 22, 2019, 09:50:07 am »
*Además desde el editor hacemos que el cuadro  extienda dicho archivo.* --> este es tu error
 Se setea  el manejador de salida con "estilo_cuadro" unicamente. Este archivo no es una extensión de tu cuadro.

Saludos
« Última Modificación: mayo 22, 2019, 09:59:49 am por escalantegc »

marianodica

  • Newbie
  • *
  • Mensajes: 9
    • Ver Perfil
    • Email
  • Sistema: SIU Toba
  • Utilizo algun sistéma del SIU: Sí
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #20 : mayo 22, 2019, 10:47:34 am »
Muchas gracias. Logramos hacer funcionar el código.

Ahora nuestra intención es cambiar sólo algunas columnas de cada fila según un determinado valor, con lo que entendemos debemos redefinir el comportamiento de  generar_layout_fila().

Ya tenemos por donde seguir, nuevamente muchas gracias. Saludos