拖放Ignite UI树视图

时间:2016-12-12 19:15:22

标签: c# jquery infragistics ignite-ui igtree

我正在使用Ignite UI拖放树视图。

有没有办法将拖动的项目保留在列表中?
将项目删除到新位置后,它会从之前的位置删除项目。如何在两个地方保留物品?

$("#StructureList").igTree({
                    singleBranchExpand: true,
                    checkboxMode: 'triState',
                    dataSource:  data,
                    dataSourceType: 'json',
                    bindings: {
                        textKey: 'LineName',
                        valueKey: 'LineID',
                        imageUrlKey: 'ImageUrl',
                        childDataProperty: 'FacDetails',
                        bindings: {
                            textKey: 'FacName',
                            valueKey: 'FacID',
                            childDataProperty: 'strDetails',
                                        bindings: {
                                            textKey: 'strName',
                                            valueKey: 'strID'
                                        }
                        }
                    },
                    dragAndDrop: true,
                    dragAndDropSettings: {
                        allowDrop: true,
                        dragAndDropMode: "copy",
                        customDropValidation: function (element) {
                            // Validates the drop target
                            var valid = true,
                                droppableNode = $(this);
                                if (droppableNode.is('a') && droppableNode.closest('li[data-role=node]').attr('data-value') === 'File') {
                                valid = false;
                            }

                            return valid;
                        }
                    }

                });

1 个答案:

答案 0 :(得分:2)

Ignite UI igTree有三种不同的拖放模式 - 默认,移动,复制。

default - 如果保持 ctrl ,则在没有保持和复制修改键的情况下移动已删除的节点。
移动 - 丢弃的节点始终移动,从而从源中移除 copy-dropped节点总是被复制,因此保存在源代码中。

这是docs

为了让它始终复制,将树模式设置为copy

$(".selector").igTree({
    dragAndDropSettings : {
        dragAndDropMode: "copy"
    }
});