【问题标题】:Telerik RadTreeView Drag N Drop NodesTelerik RadTreeView 拖放 N 个节点
【发布时间】:2011-03-07 18:13:39
【问题描述】:

在将 RadTreeView 节点拖动到另一个节点时,覆盖默认文本并创建“视觉提示”的最佳方法是什么。 我开始了:

...
telerik:RadTreeView OnClientNodeDragging="ClientNodeDragging"
...

function ClientNodeDragging(sender, args)
{
    if (!visualClue)
    {
        visualClue = createVisualClue();
        document.body.insertBefore(visualClue, document.body.firstChild);
    }

    visualClue.style.left = args._domEvent.screenX + "px";
    visualClue.style.top = args._domEvent.screenY + "px";
}

在屏幕上显示文本的方法是什么?

目前它在可拖动节点下方大约 20 px,并且现有的拖动文本 (RadTreeView) 仍然显示(显示节点文本的名称 - 我希望将其删除或覆盖/隐藏)。

更新 好的,我现在用过args._domEvent.clientX.clientY。关闭,但现在我需要一种删除 RadTreevIew 自己的文本的方法。

【问题讨论】:

    标签: drag-and-drop radtreeview


    【解决方案1】:

    我设法通过使用 IE 的调试器(可以使用任何其他调试器)对其进行排序,并注意到发件人有这个 _draggingClue - BINGO! 所以剩下的就是把它设计成这样:

    function ClientNodeDragging(sender, args)
    {
        var node = args.get_node();
        if (node.get_level() != 0)
        {
            var dom = args.get_domEvent();
            var div = sender._draggingClue;
            var moveCopyText = "Copy";
            var hidden = document.getElementById("<%= MoveCopyHiddenField.ClientID %>");
    
            if (dom.shiftKey) {
                hidden.value = "true";
                moveCopy = true;
            }
            else if (dom.ctrlKey) {
                hidden.value = "false";
                moveCopy = false;
            }
            else {
                hidden.value = "true";
                moveCopy = true;
            }
    
            if(moveCopy)
                moveCopyText = "Move";
            else
                moveCopyText = "Copy";
    
            div.className = "DragFile";
            div.style.height = '15px';
            div.style.paddingTop = '3px';
            div.innerHTML = moveCopyText + " " + node.get_text();
        }
    }
    

    希望这能在这么多年的时间里帮助别人,也许还有我自己;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 2011-03-12
      • 2012-03-17
      • 2012-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多