2016-06-01 10 views
2

dgridのDnDのドロップイベントのカスタム動作を実装したいと思います。私は正確にしたいことは簡単ですdgrid dndはonDropイベントを実装します

this.grid = new (declare([OnDemandGrid, Editor, DnD, DijitRegistry]))({ 
         region: "center", 
         collection: this.store, 
         selectionMode: 'single', 
         columns: ... 
        }, this.gridNode); 

        this.grid.startup(); 

:私は、次のgdrig宣言を持って、私はドラッグして、グリッド内の行をドロップした後(dgrid内の項目を並べ替え)私はイベント(機能をトリガーにしたい - 取得すると言います現在の行を操作して操作するなど)。 問題は、onDropイベントまたはドラッグイベントをオーバーライドする方法がわかりません。誰かが私にヒントを与えることができますか?

答えて

0

onDropに代わる簡単なメカニズムがありますが、既存のonDrop機能を維持し拡張する方法はまったく明らかではありません。これは、グリッドが作成するDnDSourceというクラスにonDropが存在するためです。幸いにも、これはdependency that can be injected(dndConstructorというプロパティを介して)です。ここに私の解決策があります:

var MyDnDSource = declare([DnDSource], { 
    onDrop: function() { 
     this.inherited(arguments); // This is the original onDrop functionality 
     console.log('This is my additional onDrop functionality');   
    } 
}); 

this.grid = new (declare([OnDemandGrid, Editor, DnD, DijitRegistry]))({ 
        dndConstructor: MyDnDSource, 
        region: "center", 
        collection: this.store, 
        selectionMode: 'single', 
        columns: ... 
       }, this.gridNode); 

this.grid.startup(); 
関連する問題