2016-12-12 2 views
-1

ツリービューのドラッグアンドドロップにIgnite UIを使用しています。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; 
         } 
        } 

       }); 
+0

これよりも多くの詳細が必要になります。共有できる例がありますか?あなたはどこからそれをドラッグしていますか、何をドロップしていますか?期待される結果は何ですか? – SalvadorVayshun

+0

@SalvadorVayshunご返信ありがとうございます。 jsFiddle:http://jsfiddle.net/gh/get/jquery/1.9.1/igniteuisamples/jsfiddle-samples/tree/master/EN/HtmlSamples/tree-control/drag-and-drop-multiple-trees/を参照してください。アイテムを別のツリー(左から右または右から左)にドラッグすると、アイテムが削除されて新しい場所に配置されます。私はアイテムの移動を新しいリストにドラッグし、同じアイテムを元の位置に保ちたい。 – rach

+0

@SalvadorVayshun jquery sortable helper 'clone'と似たもの – rach

答えて

1

Ignite UI igTreeには、デフォルト、移動、コピーの3種類のドラッグアンドドロップモードがあります。

デフォルト - ドロップされたノードは、修飾キーが保持されていない場合は移動され、ctrlが保持されている場合はコピーされます。
移動ノードは常に移動され、ソースから削除されます。
コピー・ドロップ・ノードは常にコピーされ、ソースに保持されます。

ここにはdocsです。

常にコピーするにはツリーモードをcopyに設定してください。

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

ありがとうございました。すべてのオプションを試しましたが、CTRLキーを押していました。 – rach

+0

私は 'コピー'オプションを使って試しました。 CTRLが開催されるまで、それはまだソースに保存されません。私はすべてのファイルを含んでいます。キャッシュはクリアされますが運がまだありません。それは質問に記載されているjsfiddleで動作します。 – rach

+0

あなたのフィドルを更新しました。ノードを削除する必要があるかどうかのチェックはドロップ時に実行されるため、ドラッグ・アンド・ドロップ・モードもターゲット・ツリーに設定する必要があります。私はあなたのフィドルを更新しました:http://jsfiddle.net/fat503ft/ –

関連する問題