Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/05/2006, 06:05
ccabo
 
Fecha de Ingreso: mayo-2006
Mensajes: 2
Antigüedad: 18 años
Puntos: 0
Con la clase PDF de R&OS no me funciona

Es el manual que estoy utilizando, gracias. Era por si habia alguno "más" completo, actualizado y a ser posible en castellano.
El manual es sencillo y se entiende bastante bien, pero a la hora de poner ejemplos de tablas viene muy simple.
El problema lo tengo al tener que generar las columnas según hayan sido seleccionadas o no.
Os comento como lo intento hacer:
1) Tengo un formulario con botones "checkbox", y dependiendo si estan marcados o no se mostraran en pantalla.
2) Para generar el proceso, se ejecuta un fichero PHP que genera el PDF. En este fichero hago esto

// $Expediente,$Denominacion,$NumeroRegistro son variables que guardan el valor de los checkbox

// titulo las columnas
$columnas=array();
if ($Expediente) $columnas["EXPEDIENTE"]="<b>EXP.</b>";
if ($Denominacion) $columnas["DENOMINACION"]="<b>DENOMINACIÓN</b>";
if ($NumeroRegistro) $columnas["NUMEROREGISTRO"]="<b>Nº REGISTRO</b>";

// doy valor a los datos
// Hago una consulta de selección en la base de datos para asignar los valores de esta forma mediante un bucle
if ($Expediente) $datos[$i]["EXPEDIENTE"]= mssql_result($result,$i,0);
if ($Denominacion) $datos[$i]["DENOMINACION"]=mssql_result($result,$i,1);
if ($NumeroRegistro) $datos[$i]["NUMEROREGISTRO"]=mssql_result($result,$i,2);

// doy propiedades a las columnas
$datoscolumnas = array();

if ($Expediente)
{
$datoscolumnas["EXPEDIENTE"]["width"]=50;
$datoscolumnas["EXPEDIENTE"]["justification"]='center';
}

if ($Denominacion)
{
$datoscolumnas["DENOMINACION"]["width"]=190;
$datoscolumnas["DENOMINACION"]["justification"]='left';
}
if ($NumeroRegistro)
{
$datoscolumnas["NUMEROREGISTRO"]["width"]=20;
$datoscolumnas["NUMEROREGISTRO"]["justification"]='center';
}

//Si hago este echo veo que se le asignan perfectamente los valores
echo "el expediente tiene de tamaño: {$datoscolumnas["EXPEDIENTE"]["width"]}, y justificación: {$datoscolumnas["EXPEDIENTE"]["justification"]}";

// y ya puedo definir la tabla PDF, he probado de varias maneras
$pdf->ezTable($datos,$columnas,'',array('showLines'=>1, 'shaded'=>1,'fontSize'=>7,'rowGap'=>2,'colGap'=>1, 'width'=>800,'maxWidth'=>800,$datoscolumnas));
// De esta manera, se me muestran las columnas pero no con los valores que he definido antes, ya que no respeta ni el tamaño asignado ni la justificación

$pdf->ezTable($datos,$columnas,'',array('showLines'=>1, 'shaded'=>1,'fontSize'=>7,'rowGap'=>2,'colGap'=>1, 'width'=>800,'maxWidth'=>800,'cols'=>$datoscolumna s));
// si pongo la opcion 'cols' se queda colgado el servidor, y es asi como viene en el manual, no?


¿Esoy haciendo bien las asignaciones de las propiedades? ¿las tengo que hacer de otra manera?



Gracias por la ayuda.