对行进行排序后,Ag-grid 拖放不起作用

Ag-grid drag and drop doesn't work after sorting rows

在 Ag-grid-react 上对我的行进行排序后,拖放操作停止了。在排序之前,拖放已全部设置好并且运行良好。

postSort API 似乎没有什么可以实现我需要的东西,重置行甚至设置可拖动就像选择一样。

postSort={nodes => nodes.forEach(n => n.setRowSelectable(true))}

我也试过使用

postSort={nodes => nodes.forEach(n => n.setDragging(true))}

但这实际上会开始拖动所有行

我希望在对行进行排序后单击行时拖放操作继续工作。 提前致谢!

如果您正在使用托管拖动 (rowDragManaged={true}),您不能将任何行拖动到其他任何地方,因为这样做会破坏行的顺序,如docs

The logic for managed dragging is simple and has the following constraints:

  • Does not work when sorting is applied. This is because the sort order of the rows depends on the data and moving the data would break the sort order.

我找到了适合我的解决方案。如果您遇到类似的问题,您希望在排序后启用拖动,您需要像这样禁用排序:

gridColumnApi.applyColumnState({ defaultState: { sort: null } });

这会将拖放操作恢复到您在排序之前拥有的列。

仍在尝试找到一种方法让网格重新组织其索引,以便我们可以保持排序并同时启用拖动。