jqgrid 單列排序和組合排序


有時,我們需要設置jqgrid表格按某個列排序,或則按多個列組合排序。如何實現?

1)設置可以排序的列  sortable: true

2)設置 multiSort: true 啟用組合排序

    $("#jqGrid").jqGrid({
          ...
          colModel: [
                    { label: '<a href="HtmlPage1.html" title="測試標題">OrderID</a>', name: 'OrderID', key: true, width: 75,sortable: true },
                    { label: 'Order Date', name: 'OrderDate', editable: true, width: 150,sortable: true },
                    { label: 'Freight', name: 'Freight', editable: true, width: 150 }
] ... multiSort:
true, //是否組合排序. true:組合排序 ... });

注意事項:

如果是用jqgrid自帶的排序功能,則只能實現對當前頁面的內容排序。

而我們往往是需要將整個表格數據進行排序,這時需要用到服務端排序(即需要將排序的方式傳遞給服務端,服務端根據排序要求再次返回數據)

后台端獲取傳入的排序字段:sidx、sord

sidx:字段名,如果是組合排序則是前面字段排序加最后一個字段。  有點抽象,例子: id asc,name desc,code  最后字段為code

sord:排序方式asc/desc

string sidx = Request["sidx"];//排序條件
string sord = Request["sord"];//最后個字段排序方式

生成排序:

sql = string.Format(@"select * from ({0}) order by {1}", sql, sidx+" "+sord);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM