Edición de «Datagrid Simple Con Paginado»

De KumbiaPHP Framework Wiki

Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 1: Línea 1:
[[KumbiaPHP_Framework_Versión_1.0_Spirit#views.2Fpartials.2F |Partials]] para crear de forma simple un datagrid con paginado
+
Partials para crear de forma simple con paginado un datagrid
  
 
=== En el controlador ===
 
=== En el controlador ===
Para efecto del ejemplo tenemos el siguiente controller, pero puede ser cualquiera
+
 
 
<source lang="php">
 
<source lang="php">
  <?php
+
  falta
class ClienteController extends ApplicationController {
 
 
public function page($page=1){
 
        // Paso el resultado de la consulta que sera mostrada en el datagrid
 
        $this->page = Load::model('cliente')->paginate('per_page: 20', "page: $page");
 
     
 
      /* paso un array con los campos que quiero mostrar en la datagrid
 
        *  El key de cada campo del ser el nombre a mostrarse en el tr de la tabla
 
        *  El value el campo de la tabla
 
        */
 
$this->campos = array('Codigo' => 'id',
 
      'Nombre' => 'nombre',
 
      'Telefono' => 'telefono',
 
      'Direccion' => 'direccion');
 
 
 
        // Nombre del Partial de paginado que utiliza KumbiaPHP
 
        $this->paginator = 'extended';
 
        /// Url que utilizara el Paginado de kumbia, por defecto utiliza la accion page
 
        $this->url  = null ;
 
 
 
}
 
 
}
 
//  Se maneja todo desde la vista
 
 
</source>
 
</source>
Mas Informacion referida a los [[KumbiaPHP_Framework_Versión_1.0_Spirit#Vistas_de_Paginaci.C3.B3n |Partial de Paginación]] disponibles en [http://www.kumbiaphp.com KumbiaPHP]
 
  
 
=== En la vista ===
 
=== En la vista ===
/app/view/cliente/page.phtml
+
 
 
<source lang="php">
 
<source lang="php">
      <? View::partial('datagrid/paginado', false,array('Model'=>$page, 'Campos'=>$campos, 'Paginator'=>$paginator, 'Url'=>$url )) ?>
+
View::partial('datagrid/paginado', //nombre del partial
 +
  false, //sin cache
 +
array( 'Modelo' => $page , // Paso el modelo que voy a utilizar
 +
'Campos' => array( 'Codigo' => 'id', // paso un array con los campos que quiero mostrar
 +
'Nombre' => 'nombre',
 +
'Telefono' => 'telefono',
 +
'Direccion' => 'direccion'),
 +
'paginator' => 'extended', //que paginador definido en Kumbia quiero utilizar
 +
'url' => null) //por defecto utiliza el controlador page
 +
)
 +
 
 
</source>
 
</source>
  
Línea 43: Línea 28:
  
 
<source lang="php">
 
<source lang="php">
<?php
+
echo "<div id=\"datagrid\">";
/**
+
echo "<table  border=\"0px\" class=\"paginator\">";
* Renderiza una tabla en base a un modelo.
+
*
+
echo "<thead><tr>";
* @author Andres Hal
+
foreach( $Campos  as $titulo => $valor):
*
+
echo "<th>" . $titulo . "</th>";
* @param array $Modelo modelo con los resultados a mostrar
+
endforeach;
* @param array $Campos array con los que se quieren mostrar de la tabla
+
echo "</tr></thead><tbody>";
* @return partial
+
foreach( $Modelo->items as $model):
*/
 
?>
 
 
<div id="datagrid">
 
<table  border="1px" width="100%"  class="paginado">
 
<thead><tr>
 
<?php foreach( $Campos  as $titulo => $valor): ?>
 
<th> <?php echo $titulo ?></th>
 
<?php endforeach; ?>
 
</tr></thead>
 
                <tbody>
 
      <? foreach( $Model->items as $model):
 
 
echo tr_color_class( 'tr_primary', 'tr_secondary' );
 
echo tr_color_class( 'tr_primary', 'tr_secondary' );
foreach($Campos as  $campos): ?>
+
foreach($Campos as  $campos):
    <td><?php echo $model->$campos ?></td>
+
echo "<td>". $model->$campos . "</td>";
      <?php endforeach; ?>
+
endforeach;
</tr>
+
echo "</tr>";
<?php endforeach; ?>
+
endforeach;
</tbody></table>
+
echo "</tbody></table>";
        <?php View::partial('paginators/'. $Paginator, false, array('page' => $Model ,'url' => $Url)); ?>
+
</div>
+
View::partial('paginators/'. $paginator, false, array('page' => $Modelo ,'url' => $url));  
 
+
 +
 +
 +
echo "</div>";
 
</source>
 
</source>
  
== Resultado Final ==
 
 
[[Archivo:Datagrid_simple_con_paginado.JPG|800px|thumb|center|Resultado Final]]
 
 
[[Categoría:Views]]
 
 
[[Categoría:Partials]]
 
[[Categoría:Partials]]

Ten en cuenta que todas las contribuciones a KumbiaPHP Framework Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Proyecto:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)