2010-09-15 17 views
1

使用的jqGrid您可以通過設置select語句:按未裝入網格的數據訂購jqgrid?

$grid->SelectCommand = $query 

但是你不能設置ORDER BY這裏。

jqgrid允許您排序任何列上的網格。

如果我的數據庫表有一個名爲「成本」的列,我希望我的網格按成本排序,但不顯示成本。有沒有辦法做到這一點?

回答

1

在您的數據庫選擇語句中,您可以根據按成本的順序選擇要返回的數據,也可以在jqgrid中包含成本作爲列,並將其設置爲隱藏並按成本列排序。

2

您可以在html頁面中添加複選框或帶選項的選項,以允許用戶選擇排序順序。要了解用戶的選擇信息,您可以使用

var addSortInfo = jQuery("#orderByCost").is(':checked'); 

var addSortInfo = jQuery("#selectList option:selected").val(); 

然後你可以使用的jqGrid的postData選項將所有請求發送到服務器的額外數據。 postData參數的值可以是一個對象,如{mySortInfo: addSortInfo},其中「mySortInfo」是附加參數的名稱,您將在服務器端看到sidx,page和其他每個請求的標準參數。在HTTP GET請求的情況下,來自postData的數據將被附加到服務器URL,並且在HTTP POST的情況下,數據將被添加到請求主體。

您還可以使用postData中的功能。您可以在How to filter the jqGrid data NOT using the built in search/filter box中閱讀這種方法的優點以獲取更多信息。