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。
您可能会注意到此解决方案非常老套,而且确实如此。但有时您只需要顺其自然即可获得所需的自定义设置。
我正在使用 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。
您可能会注意到此解决方案非常老套,而且确实如此。但有时您只需要顺其自然即可获得所需的自定义设置。