plugin jqgrid ne peut pas afficher les données
Bonjour,
J'ai rencontré un problème, je utilise JQGrid et la source de donnée est xml.
Il peut afficher les données, mais après je change le numéro de la page, il ne fonctionne pas, et l'arrangement des données par chaque champ, ne fonctionne pas aussi.
phtml:
Code:
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
|
<link rel="stylesheet" type="text/css" media="screen" href="<?/js/css/ui-lightness/jquery-ui-1.8.16.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="<?/js/jqgrid/css/ui.jqgrid.css" />
<script src="/js/jqgrid/js/i18n/grid.locale-fr.js" type="text/javascript"></script>
<script src="/js/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="/js/jqgrid/js/jquery.jqGrid.src.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#jqgrid").jqGrid({
url: 'example',
datatype: 'xml',
mtype: 'GET',
colNames: ['Id','Name','Data'],
colModel :[ {name:'Id', index:'Id'},
{name:'Name', index:'Name'},
{name:'Data', index:'Data'},
],
pager: '#pager',
rowNum: 10,
rowList: [10,20,30],
sortname: 'Id',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'List'
});
});
<table id="jqgrid"></table>
<div id="pager"></div> |
la page example - la source de donnée:
Code:
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
|
<?php
//les valeurs sont obtenus dans la controller
$page = $this -> page;
$limit = $this -> limit;
$sidx = $this -> sidx;
$sord = $this ->sord;
foreach ($this->allCount as $count)
{
$count = $count->count;
}
if(!$sidx)
{
$sidx = 1;
}
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;
}
header("Content-type: text/xml;charset=utf-8");
$s = "<?xml version='1.0' encoding='utf-8'?>";
$s .= "<rows>";
$s .= "<page>$page</page>";
$s .= "<total>$total_pages</total>";
$s .= "<records>$count</records>";
foreach ($this->allRecords as $records)
{
$s .= "<row id='". $records-> getId()."'>";
$s .= "<cell>". $records-> getId()."</cell>";
$s .= "<cell>". $records-> getName() ."</cell>";
$s .= "<cell>". $records-> getData()."</cell>";
$s .= "</row>";
}
$s .= "</rows>";
echo $s;
?> |
Pourqoui il ne peut pas changer les données après j'ai choisi le numéro de la page? Merci!