我正在尝试根据购买的总金额对订单列表进行排序。列表看起来像这样(为清楚起见省略了额外的字段):
[
{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
,则调用它时a
和b
将作为字符串传递!参数以[object Object],[object Object]
传递。
为什么jqGrid不能只给我回传我传递的数据?