以前有许多人需要将 tree 的节点拖拽到其他控件中的问题,前段时间已经解决了,现在也将它的源代码贡献上来。
这个树的数据是静态的,没有做动态的,而且树节点的拖拽也没有做过多的处理,如果要知道怎么样做树拖拽保存新节点或者是动态取 json 数据的话,请参照我的另一封帖子 http://topic.csdn.net/u/20090311/09/33f662ca-f476-4aed-8244-8c52f8ca5ba8.html 。
工程下载地址: http://download.csdn.net/source/1093097
拖拽节点到 textfield ,拖拽前
拖拽节点到 textfield ,拖拽后
拖拽 folder 到 textfield ,拖拽前
拖拽 folder 到 textfield ,拖拽后
主要实现方式扩展 dd 树的拖拽事件
-
JScript code
-
var formPanelDropTarget = new Ext.dd.DropTarget(formPanelDropTargetEl, { ddGroup : ' gridDDGroup ' , notifyEnter : function (ddSource, e, data) { // Add some flare to invite drop. formPanel.body.stopFx(); formPanel.body.highlight(); }, notifyDrop : function (ddSource, e, data){ var selectedRecord = Ext.getCmp( " contacterTree " ).getSelectionModel(); var node = selectedRecord.getSelectedNode(); // Load the record into the form // formPanel.getForm().loadRecord(node); textField1.setValue(node.id); textField2.setValue(node.text); textField3.setValue(node.leaf); // Delete record from the grid. not really required. // ddSource.grid.store.remove(selectedRecord); return ( true ); } });