2010-11-09 31 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