jqGrid在排序之前将数据转换为字符串

jqGrid在排序之前将数据转换为字符串,jqgrid,Jqgrid,我正试图根据购买的总花费对订单列表进行排序。为清晰起见,该列表似乎省略了以下额外字段: [ {products:[ {name: 'foo',price:2.53}, {name: 'bar',price:5.74} ]}, {products:[ {name: 'baz',price:6.74}, {name: 'quux', price:7.68} ]} ] 所讨论的列定义如下所示,Sumpricesf使用类似于上述的数组并返回总花费: {

我正试图根据购买的总花费对订单列表进行排序。为清晰起见,该列表似乎省略了以下额外字段:

[
  {products:[
    {name: 'foo',price:2.53},
    {name: 'bar',price:5.74}
  ]},
  {products:[
    {name: 'baz',price:6.74},
    {name: 'quux', price:7.68}
  ]}
]
所讨论的列定义如下所示,Sumpricesf使用类似于上述的数组并返回总花费:

{
    name: 'products',
    label: 'Total spent',
    index: 'products',
    formatter: function(d){return '$'+sumPricesOf(d.products)},
    sorttype: 'function',
    sortfunc: function(a,b){
      return sumPricesOf(a.products) - sumPricesOf(b.products);
    }
}
但是,如果我在sortfunc中使用console.loga、b,当它被调用时,a和b将作为字符串传递!参数被传递为[object object],[object object]


为什么jqGrid不能将我传递给它的数据返回给我?

强烈建议在数组中使用sorttype:float选项。

这并不能真正回答这个问题。。。我在问为什么sortfunc会从我的参数中得到无用的字符串形式,而不是参数本身。