在 Kendo UI TreeList 中拖动节点时如何更改 icons/drag 线索?

How can I change the icons/drag clue when dragging a node in Kendo UI TreeList?

在Kendo TreeList 中拖动节点时,当e.target 有效(允许放入)时显示加号图标,但当e.target 有效时显示拒绝图标无效(例如,当您将节点拖到自身或子节点上时)。 我自己定义了一些拒绝掉落的条件。 现在,我也想根据我的规则将图标更改为拒绝。

对于TreeView,这里有e.setStatusClass(k-denied)的方法。它不适用于 TreeList: https://docs.telerik.com/kendo-ui/api/javascript/ui/treeview/events/drag 。 TreeList 有类似的东西吗?在文档中,没有:https://docs.telerik.com/kendo-ui/api/javascript/ui/treelist/events/drag .

--

使用 onDrag(e) 方法并访问 e.target 得到 td。但是我需要 dataItemtr.

我遇到了同样的问题,并设法使用 drag event...

解决了它

我在树列表中添加了一个拖动功能:

drag: function(e) {
    if ($(e.target).parents('#targetTreeList>div>table').length>0) {
        e.setStatus("k-i-plus");
    }
    else {
        e.setStatus("k-i-cancel");
    }
}

并且当鼠标悬停在树列表中Id='targetTreeList'的节点上时,它会改变图标,当然你可以添加自己的逻辑(我检查过它也是一个根节点)...

我希望我能帮上一点忙(我在 Whosebug 上的第一个答案...)

编辑: 要获取数据项,您可以使用:

$(e.target).parents('.k-treelist').data('kendoTreeList').dataItem(e.target)

(看起来过于复杂,但这是我让它工作的唯一方法)...