2011-10-03 71 views
1

我一直在寻找小时,我找不到我的问题的答案。jqgrid navGrid和排序不起作用

我从服务器返回一个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

搜索,分页和搜索都在服务器端完成。 jqgrid将使用您配置的url重新加载网格,但会添加额外的GET参数。

服务器必须解释这些参数并根据它们返回不同的XML。 See the jqgrid samples。 (加载数据 - > XML数据)

例如,排序和分页的典型参数是:sidx(排序索引),sord(排序方向),page,rows。

因此,当服务器看到sidx和sord时,它必须对数据进行排序并将数据返回到已排序的网格。