在Kendo UI Grid中,对分组列排序进行分组后,剩余的列排序工作正常。
任何人都可以告诉我如何从客户端对分组列进行排序。
谢谢!
答案 0 :(得分:0)
当您在kendo网格中对数据进行分组时,它会自动对组asc进行排序。 您可以在docs
中了解此行为但你需要的是在列标题点击上更改组排序。
在dataBound
事件上尝试查看网格dataSource.sort()
集合,如果需要更改组排序方向。
这样的事情:
//Get the grid object
var grid = $("#grid").data("kendoGrid");
// Get the datasource bound to the grid
var ds = grid.dataSource;
// Get current sorting
var sort = ds.sort();
// Display sorting fields and direction
if (sort) {
for (var i = 0; i < sort.length; i++) {
if(sort[i].field == " myField"){
grid.dataSource.group({field:"myField", dir: sort[i].dir });
}
}
}
答案 1 :(得分:0)
Kendo UI网格分组默认为您提供ListSortDirection.Ascending
排序。如果你想做别的事,你必须设置它。如果您正在使用WebApi界面并为Kendo.mvc.dll
方法.ToDataSourceResult(kendoRequest);
生成kendoRequest,那么您可以尝试这样的事情:
var sort = kendoRequest.Sorts.FirstOrDefault();
var group = kendoRequest.Groups.FirstOrDefault();
if(sort != null && group != null) {
if(sort.Member == group.Member && sort.SortDirection == ListSortDirection.Descending) {
kendoRequest.Groups[0].SortDirection = sort.SortDirection;
}
}
var result = data.ToDataSourceResult(kendoRequest);