【问题标题】:Kendo Grid header click sorting with groupingKendo Grid 标头单击排序和分组
【发布时间】:2015-09-11 09:18:08
【问题描述】:

在剑道网格中,我想始终在顶部显示一组行。我是根据“GroupField(values 1,2)”字段来执行此操作的,并且每个组都有不同的着色模式。在排序时,记录需要在该组中排序。我可以在这组中进行排序,但问题是最后一组排在第一位。

在列定义中,我正在调用可排序块中的函数,如下所示,函数定义也显示出来。

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;

}

我是否以正确的方式完成它,或者我的排序逻辑有什么问题?

【问题讨论】:

    标签: javascript sorting kendo-ui kendo-grid


    【解决方案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');                           
                    }
                };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 2021-07-08
      • 1970-01-01
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多