PHP - como tomar el mismo ancho que una multicell para toda la FILA

   
Vista:
Imágen de perfil de Any

como tomar el mismo ancho que una multicell para toda la FILA

Publicado por Any (5 intervenciones) el 30/10/2014 16:21:03
hola buenas tardes disculpen, tengo un problema.

Estoy utilizando FPDF para generar mi pdf con datos de mi bd
el detalle es el siguiente como me la muestra:

https://drive.google.com/file/d/0B-V9vcp8W-mQMUpsV2trWHJrLWc/view?usp=sharing

me gustaria que me mostrara la tabla pareja que toda la fila tenga el mismo ancho que tenga el multicell aqui mi codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
require('pdf/fpdf.php');
 
class PDF extends FPDF
{
    function cabeceraHorizontal($cabecera)
    {
        $this->SetXY(10, 20);
        $this->SetFont('Arial','B',10);
        $this->SetFillColor(2,157,116);//Fondo verde de celda
        $this->SetTextColor(240, 255, 240); //Letra color blanco
        $ejeX = 10;
            $this->MultiCell(40,7, utf8_decode('serie'),1, 'C', 'C');
 
            $this-> SetXY (50,20);
            $this->MultiCell(40,7, utf8_decode('Nombre Equipo'),1, 'C' , 'C');
            $this-> SetXY (90,20);
            $this->MultiCell(40,7, utf8_decode('Marca'),1, 'C' , 'C');
            $this-> SetXY (130,20);
            $this->MultiCell(40,7, utf8_decode('Modelo'),1, 'C' , 'C');
 
            $this-> SetXY (170,20);
            $this->MultiCell(75,7, utf8_decode('Area'),1, 'C' , 'C');
            $this-> SetXY (245,20);
            $this->MultiCell(25,7, utf8_decode('Ingreso'),1, 'C' , 'C');
            $this-> SetXY (270,20);
            $this->MultiCell(20,7, utf8_decode('Periodo'),1, 'C' , 'C');
 
 
    }
 
    function datosHorizontal($datos)
    {
        $this->SetXY(10,27);
        $this->SetFont('Helvetica','',8);
        $this->SetFillColor(229, 229, 229); //Gris tenue de cada fila
        $this->SetTextColor(3, 3, 3); //Color del texto: Negro
        $bandera = false; //Para alternar el relleno
        $ejeY = 27; // irá incrementando
        $letra = 'D'; //'D' Dibuja borde de cada CellFitSpace -- 'FD' Dibuja borde y rellena
        foreach($datos as $fila)
        {
 
            $this-> SetXY (10,$ejeY);
                $this->Cell(40,7, utf8_decode($fila['serie']),1, 'C' , 'C' );
            $this-> SetXY (50,$ejeY);
                $this->Cell(40,7, utf8_decode($fila['nom_equipo']),1, 'C' , 'C' );
            $this-> SetXY (90,$ejeY);
                $this->Cell(40,7, utf8_decode($fila['marca']),1, 'C' , 'C' );
            $this-> SetXY (130,$ejeY);
                $this->Cell(40,7, utf8_decode($fila['modelo']),1, 'C' , 'C');
            $this-> SetXY (170,$ejeY);
                $this->MultiCell(75,7, utf8_decode($fila['area']),1, 'J' , 'C');
            $this-> SetXY (245,$ejeY);
                $this->Cell(25,7, utf8_decode($fila['ingreso']),1, 'C' , 'C' );
            $this-> SetXY (270,$ejeY);
                $this->Cell(20,7, utf8_decode($fila['periodo_dias']),1, 'C' , 'C', $bandera );
 
 
            $this->Ln();
            $bandera = !$bandera;//Alterna el valor de la bandera
 
            //Condición ternaria que cambia el valor de $letra
            ($letra == 'D') ? $letra = 'FD' : $letra = 'D';
            //Aumenta la siguiente posición de Y (recordar que X es fijo)
            //Se suma 7 porque cada celda tiene esa altura
            $ejeY = $ejeY + 15;
        }
    }
 
    function tablaHorizontal($cabeceraHorizontal, $datosHorizontal)
    {
        $this->cabeceraHorizontal($cabeceraHorizontal);
        $this->datosHorizontal($datosHorizontal);
    }
 
        } // FIN Class PDF
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder