2010-09-15 14 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中阅读这种方法的优点以获取更多信息。