列ヘッダーをクリックするたびに 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');
それは私のjqgridをソートできないJavaScriptの私のコードです...私のprocess.phpコード:
<?php
print(file_get_contents("http://localhost/" .... "?json=" . $_GET["json"]));
?>
jqgrid へのデータのロードに問題はありません。唯一の問題は、降順で並べ替えることができないことです。列ヘッダーをクリックするたびに、昇順でのみソートされ、もう一度クリックしても降順は起こりません。どうしたの?