【问题标题】:How can I change the icons/drag clue when dragging a node in Kendo UI TreeList?在 Kendo UI TreeList 中拖动节点时如何更改图标/拖动线索?
【发布时间】:2018-10-16 14:55:35
【问题描述】:

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

对于树View,有e.setStatusClass(k-denied) 方法。它不适用于 TreeListhttps://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。但我需要将 dataItem 放入tr

【问题讨论】:

    标签: javascript events kendo-ui drag-and-drop kendo-treelist


    【解决方案1】:

    我遇到了同样的问题,并设法使用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' 的树列表中的节点上时,它会更改图标,当然您可以添加自己的逻辑(我检查过它也是根节点)...

    我希望我能提供一点帮助(我在 stackoverflow 上的第一个答案...)

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

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

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

    【讨论】:

    • 谢谢 :) e.setStatus 确实有效,但我需要将数据项放入要拖到的 TR 中。 e.target 给出一个 TD。
    • 错过了你需要dataItem,我已经更新添加我的繁琐方式来获取dataItem ($(e.target).parents('.k-treelist').data(' kendoTreeList').dataItem(e.target)).
    • 后来我也注意到我需要获取数据项。非常感谢! Stackoverflow 有一个新的非常有用的贡献者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 2015-07-15
    • 2015-05-31
    • 2010-12-05
    • 2011-09-30
    • 1970-01-01
    相关资源
    最近更新 更多