在KendoUI网格/数据源中自定义排序

时间:2013-05-15 17:28:17

标签: kendo-ui kendo-grid

我已将dataSource中的数据分组为:

var dataSource = new kendo.data.DataSource({
  transport: {
    read: {
      url: " ",

    }
  },
   //and some other parameters specified   
  // group by the "category" field
   group: {
    field: "category",
    aggregates: [
      { field: "price", aggregate: "max" },
      { field: "price", aggregate: "min" }
    ]
  }
});

现在我想根据此处指定的字段以外的字段对组进行排序。如何实现这一目标?或者我如何禁用或覆盖“dir”的默认排序行为为升序。

1 个答案:

答案 0 :(得分:1)

有一种未记录的方法来指定自定义排序函数,该函数允许您对对象公开的任何属性/属性进行排序。

$("#grid").kendoGrid({
    columns: [
        { 
            field: "someProperty",
            sortable: {
                compare: function (left, right) {
                    // TODO: your custom logic here (just make sure you return a number)
                    return left.someOtherProperty - right.someOtherProperty;
                }
            },
            title: "I can do custom sorting!!!"
    ],
    dataSource: { .. },
    // other grid properties here
});

如果left小于右,则compare函数应返回负数,如果相等则返回0,如果left大于right,则返回正数。