點擊列標觸發排序時,jqGrid 向服務端發送 `sord=asc` 或 `sord=desc`,以及 `sidx=列名`。服務端需據此對查詢結果 `ORDER BY` 再返回。
public JsonResult GridData(string sidx, string sord, int page, int rows) {
var query = db.Orders.AsQueryable();
// 動態排序
if (!string.IsNullOrEmpty(sidx)) {
query = sord == "asc"
? query.OrderBy(sidx)
: query.OrderByDescending(sidx); // 需 System.Linq.Dynamic
}
// 分頁...
return Json(new { total, page, records, rows });
}$("#grid").jqGrid({
url: '/Home/GridData',
datatype: 'json',
colModel: [{name:'Id', index:'Id', sortable:true}, ...],
sortname: 'Id',
sortorder: 'asc',
// ...
});