グリッドにはDragDropプラグインがあり、ツリーにはTreeViewDragDropプラグインがあります。
グリッドまたはツリーから、またはグリッドまたはツリー内にドラッグする場合は、プラグインを含めます。グリッドの場合、次のようになります。
Ext.create('Ext.grid.Panel', {
...
viewConfig: {
plugins: {
ptype: 'gridviewdragdrop',
dragText: 'Drag and drop to reorganize'
}
},
...
});
プラグインが組み込まれると、コンポーネントからドラッグ アンド ドロップ イベントが取得され、リッスンできます。上記の例を完成させます。
Ext.create('Ext.grid.Panel', {
…
viewConfig: {
plugins: {
ptype: 'gridviewdragdrop',
dragText: 'Drag and drop to reorganize'
},
listeners: {
drop: function(node, data, dropRec, dropPosition) {
// Do something here.
}
}
},
…
});
この例とそれに対応するコードで、これが完全に機能していることを確認できます。
私の知る限りでは、4.07 と 4.1 の間でこの面で何も変わっていません。