jqGrid在排序之前将数据转换为String

时间:2014-04-30 21:20:31

标签: jqgrid

我正在尝试根据购买的总金额对订单列表进行排序。列表看起来像这样(为清楚起见省略了额外的字段):

[
  {products:[
    {name: 'foo',price:2.53},
    {name: 'bar',price:5.74}
  ]},
  {products:[
    {name: 'baz',price:6.74},
    {name: 'quux', price:7.68}
  ]}
]

有问题的列定义如下所示(sumPricesOf采用与上面类似的数组并返回总花费):

{
    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);
    }
}

但是,如果我在console.log(a,b)中使用sortfunc,则调用它时ab将作为字符串传递!参数以[object Object],[object Object]传递。

为什么jqGrid不能只给我回传我传递的数据?

1 个答案:

答案 0 :(得分:0)

强烈推荐使用colModel数组中的 sorttype:float 选项。