ExtJs moveAfter 网格面板上的列非常慢

ExtJs moveAfter columns on a gridpanel is very slow

我有一个网格面板,其中的列可以动态重新排序。

我使用以下方法:

grid.headerCt.moveAfter

但是当我的数组包含很多列时,循环(用于移动列)需要很多时间来处理(但不是每次)。 同时所有屏幕都被冻结,即使使用 suspendLayouts/resumeLayouts.

在这里,我的网格面板包含 62 列。 有时循环(用于移动列)在不到 1 秒后结束。 但很多时候,循环会在 12 秒或更长时间后结束。

有没有更好的方法来做到这一点,但性能最好?

如果行数和列数很大,

MoveAfter 会越来越慢。处理时间随着数据量的增加而增加。

我已经应用了这个解决方法:移动数组中没有行的列,然后添加行。

现在对列重新排序只需不到 1 秒,并且不会从一个调用演变为另一个调用。