我一直在寻找几个小时,但我无法找到问题的答案。
我正在从服务器返回一个xml到客户端;数据在jqGrid中正确显示。 但是,分页不起作用,无论是分页还是搜索。
当我按下navGrid中的搜索按钮时,会显示搜索弹出窗口,但是当我按“查找”时,没有任何反应。 这是我的代码:
<table id="list1"></table>
<div id="pager1"></div>
<script type="text/javascript">
jQuery().ready(function (){
jQuery("#list1").jqGrid({
url:'managenir.do',
datatype: "xml",
mtype: 'GET',
colNames:['Cod Factura','Nume', 'Data'],
colModel:[
{name:'id',index:'id', width:75, sortable:true},
{name:'name',index:'name', width:90, sortable:true},
{name:'data',index:'data', width:100, sortable:true}
],
rowNum:10,
autowidth: true,
rowList:[10,20,30],
pager: jQuery("#pager1"),
sortname: 'id',
viewrecords: true,
sortorder: "desc",
caption:"NIR-uri"
})
jQuery("#list1").jqGrid('navGrid','#pager1',{edit:false,add:false,del:false, search:true});
});
</script>
从服务器返回的XML是:
<?xml version='1.0' encoding='utf-8'?><rows><page>1</page><total>1</total><records>3</records><row id='1234'><cell>1234</cell><cell><![CDATA[metro]]></cell><cell>2011-01-24 00:00:00.0</cell></row><row id='444'><cell>444</cell><cell><![CDATA[selgros]]></cell><cell>2011-01-16 00:00:00.0</cell></row><row id='5555'><cell>5555</cell><cell><![CDATA[selgros]]></cell><cell>2011-01-02 00:00:00.0</cell></row></rows>
我正在使用:
<script type="text/javascript" language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script src="Scripts/js/jquery-history.js"></script>
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script src="Scripts/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="Scripts/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
非常感谢。
答案 0 :(得分:0)
搜索,分页和搜索都在服务器端完成。 jqgrid将使用您配置的url重新加载网格,但它会添加额外的GET参数。
服务器必须解释这些参数并根据它们返回不同的XML。 See the jqgrid samples。 (加载数据 - &gt; XML数据)
例如,排序和分页的典型参数是:sidx(排序索引),sord(排序方向),页面,行。
因此,当服务器看到sidx和sord时,它必须对数据进行排序并将数据返回到已排序的网格。