应该使用什么事件来处理 dojo dgrid 中的行拖放?

What event should be used for handling drag and drop of rows in dojo dgrid?

我有一个dojo dgrid with DnD support。我想在用户拖放网格行时处理事件。我无法找到 dgrid 支持的所有事件的列表。

我可以处理 Working with Events section 中列出的其他事件,例如

grid.on('.dgrid-header .dgrid-cell:click', function (event) {}

但是,我找不到用于拖放的事件名称。

这个活动的名称是什么?

如您分享的 link(处理事件部分)所述,dgrid 没有任何与 dnd 相关的事件。

但是,作为 dojo/dnd/source 扩展的 dndSource 有一组事件可以用来监听。

on(grid1.dndSource, "Drop", function(){
    //do something
});

您还可以使用 dojo/topic 收听 dnd.Manager 发布的一些主题。

topic.subscribe("/dnd/drop", function(){
    //do something
});

以下是您可以收听的主题列表:

  • /dnd/source/over
  • /dnd/start
  • /dnd/drop/before
  • /dnd/drop
  • /dnd/cancel