2011-03-23 65 views
2
Ext.namespace('Moca'); 
..... 

Moca.LaGrid = new Ext.grid.GridPanel({ 
store : Moca.Stores.LaStore, 
ddGroup: 'GridDD', 
enableDragDrop: true, 
..... 


    var ddrow = new Ext.dd.DropTarget(Moca.LaGrid.getView().mainBody, { 
      ddGroup : 'GridDD', 
      copy:false, 
      notifyDrop : function(dd, e, data){ 
       var sm=Moca.LaGrid.getSelectionModel(); 
       var rows=sm.getSelections(); 
       var ds = Moca.LaGrid.store; 
       var cindex=dd.getDragData(e).rowIndex; 
       for (i = 0; i < rows.length; i++) { 
        rowData=c.getById(rows[i].id); 
        if(!this.copy) { 
         ds.remove(ds.getById(rows[i].id)); 
         ds.insert(cindex,rowData); 
        } 
       }; 
      } 
     }); 

它給this.el是空EXT-all.js(line7)ExtJS的GridPanel中拖放功能

請幫助?

+1

在什麼時候拋出錯誤? – Keylan 2011-04-22 16:45:49

回答

1

首先猜測Moca.LaGrid在創建時沒有被渲染到它的容器,因此Moca.LaGrid.getView()。mainBody將是null。嘗試在GridPanel已連接到其容器後創建ddrow。