在Kendo Grid中,我如何在进行内联编辑时禁用拖动?

问题描述:

我有一个可拖动的剑道网格,它可以重新排序网格行。在Kendo Grid中,我如何在进行内联编辑时禁用拖动?

 grid.table.kendoDraggable({ 
      filter: "tbody > tr", 
      group: "gridGroup", 
      hint: function (e) { 
       return $('<div class="k-grid k-widget"><table><tbody><tr>' + e.html() + '</tr></tbody></table></div>'); 
      } 
     }); 

     grid.table.kendoDropTarget({ 
      group: "gridGroup", 
      drop: function (e) { 
       e.draggable.hint.hide(); 
       var target = dataSource.getByUid($(e.draggable.currentTarget).data("uid")), 
        dest = $(document.elementFromPoint(e.clientX, e.clientY)); 

       if (dest.is("th")) { 
        return; 
       } 

       dest = dataSource.getByUid(dest.parent().data("uid")); 

       if (target.get("Id") !== dest.get("Id")) { 
        var tmp = target.Priority; 
        target.Priority = dest.Priority; 
        dest.Priority = tmp; 

        dataSource.sort({ field: "Priority", dir: "asc" }); 
       } 
      } 
     }); 

我也有通过设置

editable: "inline" 

{ 
    command: ["edit"] 
} 

但是做即时编辑的能力,剑道电网做一些拧东西时启用拖动,而试图点击一个可编辑的字段。当我注释掉kendoDraggable代码时,编辑工作得很好。我正在寻找捕获kendoGrid“编辑”命令并使用它来禁用可拖动性的方法。当然,我需要在用户离开内联编辑模式后重新启用拖动。

有什么想法?

您可以使过滤器排除当前正在编辑的行。

grid.table.kendoDraggable({ 
    filter: "tbody > tr:not(.k-grid-edit-row)", 

Here is live example

+0

你救了我)真的好主意 – 2014-09-24 08:41:42