我正在使用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),你不能根据它自己的组进行排序。
有没有办法显示群组标题,还会禁用对网格分组的进一步更改?
谢谢。
答案 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 。
您可能会注意到这个解决方案非常糟糕,而且确实如此。但有时你只需要用它就可以获得所需的自定义。