[color=red][b]问题:[/b][/color]
我现在实现树于表格之间的相互拖拽,将树的叶子节点拖拽到左边表格的时候,表格无法获得叶子节点的属性,从而无法实现插入表格的效果
实现类似如下的效果,从左边树将zhangsan zhaoliu,拖动到右边的表格.右边动态生成含有zhangsan zhaoliu的表格,希望各位可以提供类似的动态生成表格方法.谢谢了
附件有效果图
先将相互拖动的源码共享出来,DropTarget方法如何才能传递树叶子的属性,生成表格呢?
[code="java"]
03.grid
<br> Ext.onReady(function(){<br> var cm = new Ext.grid.ColumnModel([<br> {header:'编号',dataIndex:'id'},<br> {header:'姓名',dataIndex:'name'},<br> {header:'描述',dataIndex:'descn'}<br> ]);</p> <pre><code>var data = [ ['1','zhangsan','descn1'], ['2','lisi','descn2'], ['3','wangwu','descn3'], ['4','caocao','descn4'], ['5','liubei','descn5'] ]; var store = new Ext.data.Store({ proxy: new Ext.data.MemoryProxy(data), reader: new Ext.data.ArrayReader({}, [ {name: 'id'}, {name: 'name'}, {name: 'descn'} ]) }); store.load(); var grid = new Ext.grid.GridPanel({ autoHeight: true, renderTo: 'grid', store: store, cm: cm, enableDragDrop: true }); </code></pre> <p>var ddrow = new Ext.dd.DropTarget(grid.view.mainBody, {<br><br> ddGroup : 'GridDD',<br> copy : false,<br> notifyDrop : function(dd, e, data) {<br> var rows = data.selections;<br> var index = dd.getDragData(e).rowIndex;<br> if (typeof(index) == "undefined") {<br> index = 0;<br> }<br> for(i = 0; i < rows.length; i++) {<br> var rowData = rows[i];<br> if(!this.copy) store.remove(rowData);<br> //store.insert(index, rowData);<br> }<br> } </p> <pre><code>}); var tree = new Ext.tree.TreePanel({ el: 'tree', ddGroup: 'GridDD', enableDD: true, loader: new Ext.tree.TreeLoader({dataUrl: 'treeJson.json'}) }); var root = new Ext.tree.AsyncTreeNode({ text: '偶是根' }); tree.setRootNode(root); tree.render(); root.expand(); tree.on('nodedragover', function(e) { }); tree.on('beforenodedrop', function(e){ }); </code></pre> <p>});<br>
[/code]
treeJson.json
[code="java"]
[{
id: 1,
text: 'xiaoming',
leaf: true
},{
id: 2,
text: 'xiaoxiao',
leaf:true,
},{
id: 4,
text: 'xiaolan',
leaf: true
}
]
[/code]
[b]问题补充:[/b]
var ddrow = new Ext.dd.DropTarget(grid.view.mainBody, {
ddGroup : 'GridDD',
copy : false,
notifyDrop : function(dd, e, data) {
}
}
});
现在的问题就是这个DropTarget方法,怎么获得拖拽到表格中树的节点,
那反过来树怎么获得表格的叶子节点呢,从而实现树的叶子与表格相互拖拽