Disable/remove Kendo 网格默认组列上的关闭图标

Disable/remove close icon on Kendo Grid's default group column

我正在使用 Kendo UI 网格作为我的一种解决方案。我有这个 task/requirement,我应该能够为网格提供默认分组,并且用户不应该能够从 UI 中删除这个分组。

在这个 jsFiddle 示例中有一种实现方法:http://jsfiddle.net/siva_hari/xzLfgsba/4/

如果您查看以下示例,分组是正确的,但可以通过单击 k-group-delete 图标或将已分组的列拖回网格来更改分组。 http://jsfiddle.net/siva_hari/xzLfgsba

group: [{field: "ShipName"}],
groupable: false

但是这个解决方案有一个问题,你没有组 header(因为 groupable 设置为 false)并且你不能根据它自己的组进行排序。

有没有办法显示组 header 并禁用对网格分组的进一步更改?

谢谢。

禁用关闭手柄(X 按钮)很简单,只需将其隐藏即可。我可以通过编程方式隐藏它,但使用 CSS 更有效。

span.k-icon.k-group-delete{
    display:none;
} 

下一步是摆脱分组指示器的可拖动属性。为此,我们销毁可拖动容器。我们需要在 after dataBound 之后执行此操作,因为每次调用 dataBound 时都会重新应用网格属性。

dataBound:function(e){
    setTimeout(function(){
         //get the indicator header
         var groupIndicatorHeader = $('.k-group-indicator').parent();
         if(!groupIndicatorHeader) return;
         //check if it is draggable eneabled
         var kendoDraggableObj =  $(groupIndicatorHeader).data('kendoDraggable');
         if(kendoDraggableObj) kendoDraggableObj.destroy();
    },0);
}
在所有数据绑定和自然 kendo 代码完成 运行ning 之后,

setTimeout 有必要使其成为 运行。这是此解决方案的 fiddle

您可能会注意到此解决方案非常老套,而且确实如此。但有时您只需要顺其自然即可获得所需的自定义设置。