extjs gridpanel функция перетаскивания - PullRequest
2 голосов
/ 23 марта 2011
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 равно null ext-all.js (line7)

Пожалуйста, помогите?

1 Ответ

1 голос
/ 27 мая 2011

Первое предположение: Moca.LaGrid не отображался в своем контейнере во время создания ddrow, поэтому Moca.LaGrid.getView (). MainBody будет иметь значение null.Попробуйте создать ddrow после того, как GridPanel была прикреплена к его контейнеру.

...