Welcome Guest, Not a member yet? Register   Sign In
Integracion Basica Codeigniter - JQGRID
#1

[eluser]Unknown[/eluser]
Es bastante complicado encontrar documentacion acerca de la integracion de CI con algun plugin Jquery, pero este demo de codigo es bastante facil para emepezar. Proximamente colgare la integracion avanzada con este plugin y con otros que he logrado operar.

En la parte de la vista, es importante definir claramente las propiedades de la grilla. Para este ejemplo voy a utilizar como dataype JSON. En mi caso la llamo grupo_view.php


$("#container_grupo").jqGrid({
url:'<?= base_url() ?>index.php/SEGURIDAD/grupo/jqgrid_grupo',
datatype: 'json',
mtype: 'POST',
colNames:['CODIGO', 'NOMBRE GRUPO','DESCRIPCION GRUPO'],
colModel :[
{name:'cod_grupo', index:'cod_grupo', width:100},
{name:'nom_grupo', index:'nom_grupo', width:200},
{name:'desc_grupo', index:'desc_grupo', width:400},
],
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: true,
cell: "cell",
id: "id",
userdata: "userdata",
subgrid: {root:"rows", repeatitems: true, cell:"cell" }
},
pager: '#pager',
rowNum:10,
rowList:[10,20,30],
sortname: 'nom_grupo',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'GRILLA -> GRUPO'
});



Mi controlador es llamado grupo.php y el metodo que me permite hacer el carge de los datos en la grilla lo llamo jqgrid_grupo().

public function jqgrid_grupo(){
$page = $_POST['page']; //
$limit = $_POST['rows']; //
$sidx = $_POST['sidx']; //
$sord = $_POST['sord']; //
if(!$sidx) $sidx = 1;
####################################################################
####################################################################
$count = $this->db->count_all_results('seguridad_grupo'); ##########
####################################################################
####################################################################
if($count > 0 && $limit > 0)
$total_pages = ceil($count/$limit);
else
$total_pages = 0;
if ($page > $total_pages) $page=$total_pages;
$start = $limit*$page - $limit;
if($start <0) $start = 0;
####################################################################
####################################################################
$responce["page"] = $page;
$responce["total"] = $total_pages;
$responce["records"] = $total_pages;
$this->db->select("cod_grupo, nom_grupo, desc_grupo");
$this->db->order_by("$sidx", "$sord");
$this->db->limit($limit, $start);
$query = $this->db->get("seguridad_grupo");
$i = 0;
foreach ($query->result() as $row){
$responce["rows"][$i]["id"] = $row->cod_grupo;
$responce["rows"][$i]["cell"] = array($row->cod_grupo, $row->nom_grupo, $row->desc_grupo);
$i++;
}
echo json_encode($responce);
} /*function jqgrid_grupo*/


Espero que esto sea de ayuda!

Cordialmente,


Jorge Andres Delgado Medina
Inteligencia Digital, Colombia
[email protected]




Theme © iAndrew 2016 - Forum software by © MyBB