jqGridをソートするのに問題がありました。クライアントでこの並べ替えを実行することをお勧めしますが、並べ替えられた結果を取得するためにデータベースを新たに呼び出すこともできます。
列ヘッダーをクリックすると、並べ替え矢印によって方向が変わりますが、データはまったく変わりません。
私はこの質問を調べましたが、reloadGridを呼び出すことは役に立たなかったようです。
私のグリッド全体は次のとおりです。
var x = $("#grid").jqGrid({
jsonReader: { root: "rows", repeatitems: false },
datatype: "json",
height: 'auto',
autowidth: true,
forceFit: true,
colNames:['ID','Name'],
colModel:[
{name:'id', key:true, index:'id', width:60, sorttype:"int", jsonmap:"id"},
{name:'name', index:'name', width:90, jsonmap: "name"}
],
caption: "Results",
loadonce: true,
sortable: true,
loadComplete: function() {
jQuery("#grid").trigger("reloadGrid"); // Call to fix client-side sorting
}
});
//This data comes from a web service call, hard coding in to test
var jsonData = [
{id: 1, name: 'Apple'},
{id: 2, name: 'Banana'},
{id: 3, name: 'Pear'},
{id: 4, name: 'Orange'}
];
x[0].addJSONData( { rows: jsonData } );