jqgrid

Hola a todos! recién me acabo de dar cuenta, después de un tiempito de conocer el Yii, de que había un foro en español!!  ::)

Me llamo Juan Pablo y soy de Mar del Plata, Argentina. Hace un mes que estoy aprendiendo php, antes programaba en delphi y hace rato que tenía ganas de entrar en el mundo de las aplicaciones web, estoy contento y bastante mareado con la cantidad de tecnologías nuevas para mi, como php, java script, html en fin, estoy al limite del colapso nervioso!!!

Estoy tratando de usar jqgrid para mis grillas y llegué a un punto en que no se como seguir, quizá alguno de ustedes pueda darme una mano.

abajo pego el código que me está rompiendo la cabeza, cuando renderea la página hace la llamada a la acción y puedo ver con el firebug del firefox como devuelve los datos en formato json, pareciera que todo anda bien, pero el jqgrid no muestra nada in en la consola del firebug aparece este error:


E is null

[Break on this error] (function(){var l=this,g,y=l.jQuery,p=l…each(function(){o.dequeue(this,E)})}});


En fin si alguien tiene algún conocimiento de como usar jqgrid le pido que me de una mano…

código:



<?php


      $baseUrl = Yii::app()->baseUrl . '/jqGrid';


      $files = array();


      $subdir = '';


      $subfile = '';





      $clientScript = Yii::app()->getClientScript();


      


      $clientScript->registerCoreScript('jquery');





      $clientScript->registerCssFile($baseUrl.'/css/ui.jqgrid.css');





      if (true) {


         $clientScript->registerScriptFile($baseUrl.'/js/i18n/grid.locale-'.'en'.'.js');


      }


      else {


         $subdir = 'min/';


         $subfile = '-min';


         $clientScript->registerScriptFile($baseUrl.'/i18n/min/grid.locale-'.'en'.'js');


      }





      $clientScript->registerScriptFile($baseUrl.'/js/jqModal.js');


      $clientScript->registerScriptFile($baseUrl.'/js/jqDnR.js');      





      $files[] = "{$subdir}grid.base{$subfile}.js"; // jqGrid base


      $files[] = "{$subdir}grid.common{$subfile}.js"; // jqGrid common for editing


      $files[] = "{$subdir}grid.formedit{$subfile}.js"; // jqGrid Form editing


      $files[] = "{$subdir}grid.inlinedit{$subfile}.js"; // jqGrid inline editing


      $files[] = "{$subdir}grid.celledit{$subfile}.js"; // jqGrid cell editing


      $files[] = "{$subdir}grid.subgrid{$subfile}.js"; // jqGrid subgrid


      $files[] = "{$subdir}grid.treegrid{$subfile}.js"; // jqGrid treegrid


      $files[] = "{$subdir}grid.custom{$subfile}.js"; // jqGrid custom


      $files[] = "{$subdir}grid.postext{$subfile}.js"; // jqGrid postext      


      $files[] = "{$subdir}grid.setcolumns{$subfile}.js"; // jqGrid setcolumns


      $files[] = "{$subdir}grid.import{$subfile}.js"; // jqGrid import


      $files[] = "{$subdir}jquery.fmatter{$subfile}.js"; // jqGrid formater


      $files[] = "{$subdir}json2{$subfile}.js"; // json utils


      $files[] = "{$subdir}JsonXml{$subfile}.js"; // xmljson utils





      $plugins[] = "jquery.contextmenu.js"; // jqGrid table to grid


      $plugins[] = "jquery.tablednd.js"; // jqGrid table to grid





      foreach ($files as $file) {


         $clientScript->registerScriptFile($baseUrl.'/js/'.$file);


      }





      foreach ($plugins as $file) {


         $clientScript->registerScriptFile($baseUrl.'/plugins/'.$file);


      }           


?>


<script type="text/javascript">


jQuery(document).ready(function(){


  jQuery("#list").jqGrid({


    url:'/iae/index.php?r=test/example',


    dataType:'json',


    mtype: 'GET',


    colNames:['id','Nivel', 'Curso','Nombre','Archivo'],


    colModel :[ 


      {name:'id', index:'t.id', width:65}, 


      {name:'nivel', index:'nivel', width:100}, 


      {name:'curso', index:'curso', width:100}, 


      {name:'nombre', index:'t.nombre', width:100}, 


      {name:'archivo', index:'archivo', width:100} ], 


    pager: jQuery('#pager'),


    rowNum:10,


    rowList:[10,20,30],


    sortname: 't.id',


    sortorder: "desc",


    viewrecords: true,


    imgpath: '/iae/jqGrid/themes/redmond/images/',


    caption: 'My first grid'


  }); 


}); 


</script>








<table id="list" class="scroll" cellpadding="0" cellspacing="0"></table> 


<div id="pager" class="scroll" style="text-align:center;"></div> 


Y acá está la acción que devuelve los datos:



<?php


	public function actionExample(){


		


		$page = $_REQUEST['page'];


		$limit = $_REQUEST['rows'];


		$sidx = $_REQUEST['sidx'];


		$sord = $_REQUEST['sord'];





		if(!$sidx) $sidx =1;


		$command = yii::app()->db->createCommand("SELECT COUNT(*) AS count FROM trabajo");


		$count = $command->queryScalar();





		if( $count >0 ) {


			$total_pages = ceil($count/$limit);


		} else {


			$total_pages = 0;


		}





		if ($page > $total_pages) $page=$total_pages;





		$start = $limit*$page - $limit; // do not put $limit*($page - 1)


		if($start <0) $start = 0;





		$SQL = "SELECT id, nombre, archivo 


		from trabajo t


		ORDER BY $sidx $sord 


		LIMIT $start , $limit";


		$result = yii::app()->db->createCommand($SQL )->query() or die("Couldn t execute query.");





		// constructing a JSON


		$responce->page = $page;


		$responce->total = $total_pages;


		$responce->records = $count;


		$i=0;


		while($row = $result->read()) {


			$responce->rows[$i]['id']=$row['id'];


			$responce->rows[$i]['cell']=array($row['id'],$row['nombre'],$row['archivo']);


			$i++;


		}





		echo json_encode($responce);


	}


}


?>


do you have implement filter toolbox by this pure javascript, if yes pls help me.

Thanks