目前我有一个多行可选的剑道网格。我的问题是由于 Kendo 的拖动行选择功能,我无法从任何列中选择文本。有什么方法可以禁用剑道网格中的拖动行选择吗?
非常感谢
最佳答案
我知道这是一个老问题,但我能找到的最佳答案是 over on the telerik forums
我调整了解决方案的角度版本,它另外调用了网格更改回调。
.directive('kendoGrid', ['$', '$parse',
function($parse) {
return {
link: function(scope, element, attrs) {
if (attrs.multiselect !== undefined) {
attrs.kSelectable = '""';
var selectedClass = 'k-state-selected';
var fn = $parse(attrs.kOnChange);
$(element).delegate('tbody tr', 'click', function(e) {
e.preventDefault();
if (e.ctrlKey || e.metaKey) {
$(this).toggleClass(selectedClass);
} else {
$(this).addClass(selectedClass).siblings().removeClass(selectedClass);
}
var grid = $(element).data('kendoGrid');
if (fn) {
scope.$apply(function() {
fn(scope, {
kendoEvent: {
sender: grid
}
});
});
}
});
scope.$on(
'$destroy',
function() {
$(element).undelegate('tbody tr', 'click');
}
);
}
}
};
}
])
根据论坛上的评论,传统的 grid.select() 调用不再有效,因为它需要选择模型。
var grid = kendoEvent.sender;
var selectedRows = grid.tbody.find(".k-state-selected"); //grid.select();
关于text - Kendo UI Grid 禁用拖动行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15110035/