禁用/删除Kendo Grid的默认组列上的关闭图标

时间:2015-04-15 17:22:06

标签: kendo-grid

我正在使用Kendo UI Grid作为我的解决方案之一。我有这个任务/要求,我应该能够为网格提供默认分组,用户不应该从UI中删除此分组。

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

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

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

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

有没有办法显示群组标题,还会禁用对网格分组的进一步更改?

谢谢。

1 个答案:

答案 0 :(得分:2)

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

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

下一步是摆脱分组指标的可拖动属性。为此,我们销毁可拖动的容器。我们需要在 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);
}
在所有dataBound和自然剑道代码完成运行之后,

setTimeout是必要的。以下是此解决方案的 fiddle

您可能会注意到这个解决方案非常糟糕,而且确实如此。但有时你只需要用它就可以获得所需的自定义。