我真的很困惑,我使用 jqgrid 的程序每次单击列标题时都不会排序(降序)?我尝试创建一个使用本地数据(.json 数据)的程序,当我单击列标题时,它在排序方面效果很好。那么第一个有什么问题呢?我正在使用来自客户端服务器的数据....
这是我的 JavaScript 代码:
$("#btnQueryMainAccountGroups").click( function() {
var params = {
"SessionID": $("#eSessionID3").val(),
"dataType": "data"
}
$('#tblData').setGridParam({
url:'process.php?path=' + encodeURI('masterData/data') + '&json=' + encodeURI(JSON.stringify(params)),
datatype: olSettings.ajaxDataType,
});
$('#tblData').trigger('reloadGrid');
});
$("#tblData").jqGrid({
url: '',
datatype: '',
jsonReader : {
root: function(obj) {
var root = [];
if ('error' in obj)
{
showMessage(obj.error['class'] + ' error: ' + obj['error']['msg']);
}
else
{
$.each(obj['result']['main']['rowdata'], function(rowIndex, rowDataValue) {
var row = {};
$.each(rowDataValue, function(columnIndex, rowArrayValue) {
var fldName = obj['result']['main']['metadata']['fields'][columnIndex].name;
row[fldName] = rowArrayValue;
});
root[rowIndex] = row;
});
};
return root;
},
page: "result.main.page",
total: "result.main.pageCount",
records: "result.main.rows",
repeatitems: false,
id: "0"
},
serializeGridData: function(postData) {
var jsonParams = {
'SessionID': $('#eSessionID3').val(),
'dataType': 'data',
'recordLimit': postData.rows,
'recordOffset': postData.rows * (postData.page - 1),
'rowDataAsObjects': false,
'queryRowCount': true,
'sort_fields': postData.sidx
};
return 'json=' + JSON.stringify(jsonParams);
},
},
colNames:['ID','Code', 'Description','Type'],
colModel:[
{name:'group_id'},
{name:'group_code',align:'center',width:100},
{name:'group_desc'},
{name:'type'}
],
viewrecords: true,
rowList:[5,10,50,100],
pager: '#tblDataPager',
sortname: 'group_desc',
sortorder: 'asc',
rowNum:5,
loadonce:false,
caption: "MainGroup"
});
$("#tblData").setGridWidth($(window).width() - 70);
$("#tblData").jqGrid('sortableRows');
这是我在 javascript 中的代码,我无法对我的 jqgrid 进行排序...我的 process.php 代码:
<?php
print(file_get_contents("http://localhost/" .... "?json=" . $_GET["json"]));
?>
将数据加载到 jqgrid 没有问题。唯一的问题是我无法按降序对它们进行排序。每次单击列标题时,它只会升序排序,如果再次单击,则不会发生降序。有什么问题?