2010-11-09 47 views
0

我有一个具有以下定义的网格。一切都正常工作正常。jqGrid触发重新加载后不排序

$("#grid").jqGrid({ 
    url:'report_data.php', 
    datatype: 'json', 
    mtype: 'POST', 
    colNames:['Type','Term','Number','Visits','Calls','Unique','Avg. Duration', 
       'Conversion Rate'], 
    colModel :[{"index":"keyword_type","name":"Type","width":90}, 
       {"index":"keyword","name":"Term","width":170}, 
       {"index":"phone_number","name":"Number","width":100}, 
       {"index":"visits","name":"Visits","width":80}, 
       {"index":"calls","name":"Calls","width":70}, 
       {"index":"unique_calls","name":"Unique","width":70}, 
       {"index":"avg_duration","name":"Avg. Duration"}, 
       {"index":"conversion_rate","name":"Conversion Rate","width":80}], 
    rowNum:100, 
    rowList:[25,50,100,200,500], 
    sortname: 'keyword_type', 
    sortorder: 'desc', 
    viewrecords: true, 
    height: '470px', 
    width: 'auto', 
    loadui: 'block', 
    postData: {"keyword_set":"140","display_type":"direct"} 
}); 

在页面上有链接来过滤网格。当用户点击一个链接我设置一些网格PARAMS和使用重新加载网:

var param_string = "filter=keyword&type=ppc"; 
$('#grid').setGridParam({url:'report_data.php', 
         postData:param_string}).trigger("reloadGrid"); 

电网重载罚款与新的数据,但是,列不再排序。我可以看到数据发送到服务器,但不再包含'sidx'或'sord'参数。在触发重新加载之前排序工作正常。

有关如何在重新加载网格后再次传递排序参数的任何想法?

感谢, 丹

回答

2

您应该使用另一种语法postData参数:

$('#grid').setGridParam({url:'report_data.php', 
         postData:{filter:"keyword",type:"ppc"} 
         }).trigger("reloadGrid"); 

您当前的语法postData:"filter=keyword&type=ppc"覆盖所有其它参数(pagerowssidxsord和等等),服务器无法对数据进行正确排序。

+0

你摇滚,奥列格!那就是诀窍。感谢您及时的回复。我从阅读你的回复中学到了很多东西,但是这一次让我难住了。 – Dan 2010-11-09 14:17:48