Kendo UI Grid禁用拖动行选择

时间:2013-02-27 10:43:04

标签: text grid kendo-ui drag

目前我有一个带有多个可选行的Kendo Grid。我的问题是我无法从任何列中选择文本,因为Kendo的拖动行选择功能。有没有办法禁用Kendo Grid中的拖动行选择?

非常感谢

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但我能找到的最佳答案是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();