Código PHP:
/**
*Permite remover columnas que no se deseen mostrar
*
*@param array Un array que indica las columnas que no se deben mostrar, se utiliza el mismo titulo de la
* columna para especificar las que no se quieren ver Eje: array( 'titulo', 'titulo2' );
*
*/
public function rem_columna( $columna = array('') )
{
// Almacenara las nuevas columnas disponibles
$nuevoElemento = array();
foreach( $this->arrayCampos as $key => $valor ) {
$si = false;
for( $n=0; $n < count( $columna ); $n++ ) {
if( $key == $columna[ $n ] ) {
$si = true;
}
}
if( ! $si ) {
$nuevoElemento[ $key ] = $valor;
}
}
$this->arrayCampos = $nuevoElemento;
}
/**
* Permite indicar el cellspacing y cellpadding
*@param cellspacing
*@param cellpadding
*/
public function grid_PacingAndPadding( $cellspacing, $cellpadding )
{
$this->cellspacing = $cellspacing;
$this->cellpadding = $cellpadding;
return $this;
}
/**
* Indica los colores de filas y columnas, ademas se puede indicar la manera como seran aplicados
*
* @param String Indica el primer color que tendra el titulo de cada columna
* @param array Un array de colores hexadecimales
* @param true o false
*/
public function grid_BgColorFC( $colorTagTh, $colores )
{
$this->bgColor = $colores;
$this->bgColorTh = $colorTagTh;
return $this;
}
/**
*Define tanto la anchura como altura del grid
* @param int width - Define la anchura del grid en pixels o porcentaje.
* @param int height - Define la altura del grid en pixels o porcentaje.
*/
public function grid_WidthAndHeight( $width, $height )
{
$this->width = $width;
$this->height = $height;
return $this;
}
/**
* Define el border, borderColor, background y align del grid
* @rapam int border Define el número de pixels del borde principal.
* @param String borderColor Define el color del borde.
* @param String bgcolor da color de fondo a la tabla.
* @param String background Nos permite colocar un fondo para la tabla a partir de un enlace a una imagen.
* @param String align Alinea horizontalmente la tabla con respecto a su entorno.
*/
public function grid_AtributosTabla( $border, $borderColor, $bgColor, $background, $align )
{
$this->border = $border;
$this->borderColor = $borderColor;
$this->bgColorTabla = $bgColor;
$this->background = $background;
$this->align = $align;
return $this;
}
public function gridMostrar()
{
$datos = array();
echo '
<table align="' . $this->align . '" border="' . $this->border . '"
bordercolor="' . $this->borderColor . '" background="' . $this->background . '"
cellspacing="' . $this->cellspacing . '" cellpadding="' . $this->cellpadding . '"
bgcolor="' . $this->bgColorTabla . '">';
// Con lo sgte se genera la nueva fila ( si el usuario lo indica )
if ( ! empty( $this->contenidoF ) ) {
echo
'
<tr><td colspan="' . $this->colspanF . '" align="' . $this->alignF . '">'. $this->contenidoF .'</td></tr>
';
}
echo "<tr bgcolor=". $this->bgColorTh .">";
// Se generan los <th>
foreach ( $this->arrayCampos as $key => $valor ) {
echo "<th align=\"center\" width=" . $this->width . " height=" . $this->height . ">" . $key . "</th>";
$datos[ $key ] = $this->_explodeC( $this->arrayCampos[ $key ] );
$iteraciones = count( $datos[ $key ] );
}
echo "</tr>";
$v = 0;
$tam = count( $this->bgColor );
// Se generan los td con los resultados de la Bds
for ( $n=0; $n < $iteraciones; $n++ ) {
/**
* Si ( v ) es igual al tamaño del array de colores
*lo reinicio en 0 de lo contrario sigue con el mismo valor
*/
$v = ( $v == $tam ? 0 : $v );
echo "<tr bgcolor=" . $this->bgColor[ $v ] . ">";
foreach ( $this->arrayCampos as $key => $valor ) {
echo "<td align=\"center\"> " . $datos[ $key ][ $n ] . "</td>";
}
echo "</tr>";
$v++;
}
echo "</table>";
}
}