我想使用kendo網格排序機制,捕獲排序事件並在服務器端執行我自己的排序。我不''希望網格實際上執行排序(不在客戶端,也不在服務器端)。在實際排序中使用kendo網格排序機制
我發現我可以定義數據源上我自己的排序功能,捕捉事件排序如下:
gridDatasource.originalSort = gridDatasource.sort;
gridDatasource.sort = function() {
if (arguments.length > 0) {
console.log("SORT: " + JSON.stringify(arguments));
}
//return gridDatasource.originalSort.apply(this, arguments);
}
這樣,我能捕捉任何類型的操作它發生,但在問題出現之前如果我不調用原始排序,網格的三角形不會出現,排序方向也不會改變。所以任何時候我點擊排序我都會得到相同的方向「asc」。
其他建議?
編輯
下面或多或少電網定義的例子:
var ds = new kendo.data.DataSource({});
ds.originalSort = ds.sort;
ds.sort = function() {
if (arguments.length > 0) {
console.log("SORT: " + JSON.stringify(arguments));
}
return ds.originalSort.apply(this, arguments);
}
$("#grid", element).kendoGrid({
dataSource: ds,
sortable: true,
pageable: true,
scrollable: {
virtual: true
},
filterable: true,
columns: [
{ field: "text", title: "text", hidden: false},
{ field: "id", title: "id", hidden: false},
{ field: "newColumn", title: "New column", hidden: false},
{ field: "anotherColumn", title: "Another column", hidden: false}
],
selectable: "row",
resizable: true,
columnMenu: true
});
我可以看到網格定義嗎? –
其餘的定義與排序無關,所以我認爲它不相關 –
我知道它是相關的。 –