Javascript 剑道网格标题单击分组排序
在剑道格网中,我希望始终在顶部显示一组行。我这样做是基于一个“GroupField(values 1,2)”字段,每个组都有不同的着色模式。在排序时,记录需要在此组中排序。我可以在这组人中进行分类,但问题是最后一组人是第一个来的 在列定义中,我在可排序块中调用一个函数,如下所示,函数定义也显示出来Javascript 剑道网格标题单击分组排序,javascript,sorting,kendo-ui,kendo-grid,Javascript,Sorting,Kendo Ui,Kendo Grid,在剑道格网中,我希望始终在顶部显示一组行。我这样做是基于一个“GroupField(values 1,2)”字段,每个组都有不同的着色模式。在排序时,记录需要在此组中排序。我可以在这组人中进行分类,但问题是最后一组人是第一个来的 在列定义中,我在可排序块中调用一个函数,如下所示,函数定义也显示出来 sortable: { compare : function (a, b) { retu
sortable: {
compare : function (a, b) {
return generateCompare(a, b, 'FieldNameToSort');
}
function generateCompare(a, b, field) {
if (a.GroupField == b.GroupField)
result = a[field] === b[field] ? 0: a[field]> b[field] ? 1 : -1;
else if (a.GroupField > b.GroupField)
result = -1;
}
我是以正确的方式完成的,还是排序逻辑中有任何问题?我有一个简单的解决方法。不需要进行我在问题中提到的函数调用。只需在数据源中指定组,如下所示
var dataSource = new kendo.data.DataSource({
data: data,
pageSize: 20,
group: { field: "GroupField" }
});
如果不想显示组字段和分组样式,请在剑道网格选项的数据绑定中使用此jQuery:
$scope.kendoGridOptions = {
dataBound: function (e) {
var grid = e.sender;
$(".k-group-col,.k-group-cell").remove();
var spanCells = $(".k-grouping-row").children("td");
spanCells.attr("colspan", spanCells.attr("colspan") - 1);
$('.k-grouping-row').addClass('ng-hide');
}
};