2

我不知道是否有人可以帮助我解决这个问题。我一直在尝试整个下午,但我无法做到正确。

DragZone为网格定义了一个...

 Ext.define('Timetabling.view.ItStudentsDragZone', {

        extend    : 'Ext.dd.DragZone',

        grid    : null,


   //Tell Ext how to recover from an invalid drop. XY from the dragged data
   getRepairXY: function() {
      return this.dragData.repairXY;
   },


   // To pair together a drag zone and drop zone
   ddGroup     : 'itstudents',        


   getDragData : function(e) {            
   var sourceEl    = e.getTarget(),
           view  = this.grid.getView(),
           rowEl = view.findItemByChild(sourceEl),
           rec  = rowEl && view.getRecord(rowEl);

           if (sourceEl) {
                d = sourceEl.cloneNode(true);
                d.id = Ext.id();

               return {
                ddel: d,
                sourceEl: sourceEl,
                repairXY: Ext.fly(sourceEl).getXY(),
                sourceStore: null,
                draggedRecord: null
             }
        }                                   
      }
   });

如果我从网格中只选择一项,它工作正常。但是,当我选择两个或更多项目,然后单击网格选择来拖动它时,在网格选择中单击的项目被选中,而另一个保持未选中状态,所以我可以再次拖动一个项目!

我想我必须将网格选择作为一个元素,但我不知道该怎么做......

如果有人对如何解决这个问题有一些想法,我将不胜感激。

4

1 回答 1

0

看看这里的 extjs 4.1 示例

于 2013-01-12T22:27:14.220 回答