2013-05-15 65 views
2

我已經在數據源分組數據:自定義排序在KendoUI網/數據源

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」的默認排序行爲作爲升序。

+0

您必須在數據源上設置'serverSorting:true'並在服務器上實現自己的排序。 – Brett

回答

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

比較功能應該返回一個負數小於右邊,0,如果他們是平等的,如果離開了正數大於右更大。