On Mié 17 Jun 2009 09:01:11 Fernando Martin Gatica escribió: > Hola, tengo en un cuadro una columna en H:m:s, y quiero totalizar al final. > ¿cómo hago? Gracias. > Hola Fernando, La idea es armar un nuevo tipo de formato que convierta un entero en H:M:S y usarlo en esa columna, asi lo que sume el cuadro en definitiva sean enteros y el formateo lo pase al formato indicado:
class formateo_proyecto extends toba_formateo { /** * @param integer $valor Cantidad total de segundos * @return cadena en formato H:M:S */ function formato_hora($valor) { $segundos = str_pad($valor % 60, 2, 0, STR_PAD_LEFT); $minutos = floor($valor / 60); $horas = floor($minutos / 60); $minutos = str_pad($minutos % 60, 2, 0, STR_PAD_LEFT); return "$horas:$minutos:$segundos"; } } Dentro del ci: function conf__mi_cuadro(toba_ei_cuadro $cuadro) { $cuadro->set_formateo_columna('columna_hora', 'hora', 'formateo_proyecto'); //Recorda siempre pasarle los datos como enteros, si ya lo tenes en formato hora tendrías que aplicar la funcion inversa a formato_hora $datos = array( 'columna_hora' => 300 'columna_hora' => 5000 ); $cuadro->set_datos($datos); } Lo probé usando el trunk, creo que la 1.3 también permite asignar formateos propios a columnas. Cualquier cosa la seguimos. Saludos, Seba PD: Revisá la función de pasar segundos a horas porque la hice sin mucha prueba
<<attachment: formato_hora.png>>
_______________________________________________ toba.usuarios mailing list toba.usuarios@siu.edu.ar https://listas.siu.edu.ar/mailman/listinfo/toba.usuarios