------------------------ Example code for GRID dragging row Single row dragging---------------- -----------------------
//Create the second GRID
var secondGrid = new Ext.grid.GridPanel({
ddGroup : 'firstGridDdGroup',//Here is the ddGroup of the first GRID
store : secondGridStore,
enableDragDrop: true,//True means to start the dragging behavior for the selected row in the GridPanel
...Other attributes are omitted
});
//Create the first GRID ddGroup
var firstGridDropTargetEl = firstGrid.getView().el.dom.childNodes[0].childNodes[1];
var firstGridDropTarget = new Ext.dd.DropTarget (firstGridDropTargetEl, {
ddGroup : 'firstGridDdGroup', //Same as the ddGroup of the second GRID
copy : true,
notifyDrop : function(ddSource, e, data){
function addRow( record, index, allItems) {
var foundItem = secondGridStore.find('name', record.data.name);
if (foundItem == -1) {
firstGridStore.add(record);
firstGridStore.sort('name', 'ASC');
ddSource.grid.store.remove(record);
}
}
Ext.each(ddSource.dragData.selections ,addRow);
return(true);
}
)};
//Create the second GRID ddGroup
var secondGridDropTargetEl = secondGrid.getView().el.dom.childNodes[0].childNodes[1];
var secondGridDropTarget = new Ext.dd.DropTarget (secondGridDropTargetEl,{
ddGroup : 'secondGridDdGroup',//Same as the ddGroup of the first GRID
copy : true,
notifyDrop : function(ddSource, e, data){
function addRow( record, index, allItems) {
var foundItem = secondGridStore.find('name', record.data.name);
if (foundItem == -1) {
secondGridStore.add(record);
secondGridStore.sort('name', 'ASC');
ddSource.grid.store.remove(record);
}
}
Ext.each(ddSource.dragData.selections ,addRow);
return(true);
}
});